quickjs-emscripten › Globals › QuickJS
QuickJS presents a Javascript interface to QuickJS, a Javascript interpreter that supports ES2019.
QuickJS is a singleton. Use the getQuickJS function to instantiate or retrieve an instance.
Use the QuickJS.createVm method to create a QuickJSVm.
Use the QuickJS.evalCode method as a shortcut evaluate Javascript safely and return the result as a native Javascript value.
- QuickJS
+ new QuickJS(): QuickJS
Defined in quickjs.ts:714
Returns: QuickJS
▸ createVm(): QuickJSVm
Defined in quickjs.ts:765
Create a QuickJS VM.
Each VM is completely independent - you cannot share handles between VMs.
Returns: QuickJSVm
▸ evalCode(code
: string, options
: QuickJSEvalOptions): unknown
Defined in quickjs.ts:803
One-off evaluate code without needing to create a VM.
To protect against infinite loops, use the shouldInterrupt
option. The
shouldInterruptAfterDeadline function will create a time-based deadline.
If you need more control over how the code executes, create a QuickJSVm instance and use its QuickJSVm.evalCode method.
throws
If code
throws during evaluation, the exception will be
converted into a native Javascript value and thrown.
throws
if options.shouldInterrupt
interrupted execution, will throw a Error
with name "InternalError"
and message "interrupted"
.
Parameters:
Name | Type | Default |
---|---|---|
code |
string | - |
options |
QuickJSEvalOptions | {} |
Returns: unknown
The result is coerced to a native Javascript value using JSON serialization, so properties and values unsupported by JSON will be dropped.