support including modules, asynchronous generators and full Annex B
support (legacy web compatibility).</li>
<li>Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2020 features.</li>
<li>Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2020 features. A summary is available at <ahref="https://test262.report/">Test262 Report</a>.</li>
<li> Can compile Javascript sources to executables with no external dependency.</li>
@ -76,7 +81,7 @@ extensions is available
at <ahref="http://numcalc.com">numcalc.com</a>. It was compiled from
C to WASM/asm.js with Emscripten.
<p>
<tt>qjs</tt> and <tt>qjscalc</tt> can be run in <ahref="https://bellard.org/jslinux/vm.html?url=buildroot-x86.cfg">JSLinux</a>.
<tt>qjs</tt> and <tt>qjscalc</tt> can be run in <ahref="https://bellard.org/jslinux/vm.html?url=alpine-x86.cfg">JSLinux</a>.
QuickJS extras (contain the unicode files needed to rebuild the unicode tables and the bench-v8 benchmark): <ahref="https://bellard.org/quickjs/quickjs-extras-2020-04-12.tar.xz">quickjs-extras-2020-04-12.tar.xz</a>
QuickJS extras (contain the unicode files needed to rebuild the unicode tables and the bench-v8 benchmark): <ahref="https://bellard.org/quickjs/quickjs-extras-2020-07-05.tar.xz">quickjs-extras-2020-07-05.tar.xz</a>
Binary releases for Linux are available in <ahref="https://github.com/GoogleChromeLabs/jsvu">jsvu</a> and <ahref="https://bellard.org/quickjs/binary_releases">here</a>.
Binary releases for Linux are available in <ahref="https://github.com/GoogleChromeLabs/jsvu">jsvu</a>, <ahref="https://github.com/devsnek/esvu">esvu</a> and <ahref="https://bellard.org/quickjs/binary_releases">here</a>.
</li>
<li>
Typescript compiler compiled with QuickJS: <ahref="https://bellard.org/quickjs/quickjs-typescript-linux-x86.tar.xz">quickjs-typescript-linux-x86.tar.xz</a>
Typescript compiler compiled with QuickJS: <ahref="https://bellard.org/quickjs/quickjs-typescript-4.0.0-linux-x86.tar.xz">quickjs-typescript-4.0.0-linux-x86.tar.xz</a>
</li>
<li>
Babel compiler compiled with QuickJS: <ahref="https://bellard.org/quickjs/quickjs-babel-linux-x86.tar.xz">quickjs-babel-linux-x86.tar.xz</a>
<li><aname="toc-Standard-library"href="#Standard-library">3.3 Standard library</a>
@ -407,18 +406,13 @@ B (legacy web compatibility) and the Unicode related features.
</li></ul>
<aname="JSON"></a>
<h4class="subsection">3.1.2 JSON</h4>
<p>The JSON parser is currently more tolerant than the specification.
</p>
<aname="ECMA402"></a>
<h4class="subsection">3.1.3 ECMA402</h4>
<h4class="subsection">3.1.2 ECMA402</h4>
<p>ECMA402 (Internationalization API) is not supported.
</p>
<aname="Extensions"></a>
<h4class="subsection">3.1.4 Extensions</h4>
<h4class="subsection">3.1.3 Extensions</h4>
<ul>
<li> The directive <code>"use strip"</code> indicates that the debug information (including the source code of the functions) should not be retained to save memory. As <code>"use strict"</code>, the directive can be global to a script or local to a function.
@ -428,7 +422,7 @@ B (legacy web compatibility) and the Unicode related features.
test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js:20: strict mode: Test262Error: Expected a ReferenceError but got a ReferenceError
test262/test/built-ins/Proxy/ownKeys/trap-is-undefined-target-is-proxy.js:29: Test262Error: Expected [0, length, foo, Symbol()] and [Symbol(), length, foo, 0] to have the same contents.
test262/test/built-ins/Proxy/ownKeys/trap-is-undefined-target-is-proxy.js:29: strict mode: Test262Error: Expected [0, length, foo, Symbol()] and [Symbol(), length, foo, 0] to have the same contents.
test262/test/built-ins/RegExp/named-groups/non-unicode-property-names-valid.js:46: SyntaxError: invalid group name
test262/test/built-ins/RegExp/named-groups/non-unicode-property-names-valid.js:46: strict mode: SyntaxError: invalid group name
test262/test/language/expressions/arrow-function/eval-var-scope-syntax-err.js:47: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/async-arrow-function/eval-var-scope-syntax-err.js:49: TypeError: $DONE() not called
test262/test/language/expressions/async-function/named-eval-var-scope-syntax-err.js:33: TypeError: $DONE() not called
test262/test/language/expressions/object/method-definition/async-meth-eval-var-scope-syntax-err.js:36: TypeError: $DONE() not called
test262/test/language/expressions/object/method-definition/gen-meth-eval-var-scope-syntax-err.js:54: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/object/method-definition/meth-eval-var-scope-syntax-err.js:50: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:21: TypeError: value has no property
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:15: strict mode: TypeError: value has no property
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:21: TypeError: cannot read property 'c' of undefined
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:15: strict mode: TypeError: cannot read property '_b' of undefined
test262/test/language/statements/async-function/eval-var-scope-syntax-err.js:33: TypeError: $DONE() not called
test262/test/language/statements/async-generator/eval-var-scope-syntax-err.js:28: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/statements/class/elements/grammar-private-field-optional-chaining.js:26: SyntaxError: expecting field name