All the available output modes.
All the available output modes. There are listed in decreasing order of "importance", as judged by whoever maintains the back-ends.
Legacy output mode where everything is stored in a global ScalaJS variable.
Legacy output mode where everything is stored in a global ScalaJS variable. This is suited to the special Rhino interpreter.
Modern output mode compliant with ECMAScript 5.1 in a function scope.
Modern output mode compliant with ECMAScript 5.1 in a function scope. This is the default output mode used by fastOpt and fullOpt. The output must be enclosed in an anonymous function isolating the code in a dedicated scope.
Experimental output mode compliant with ECMAScript 6 in a function scope.
Experimental output mode compliant with ECMAScript 6 in a function scope.
This output mode assumes that the target platform supports ECMAScript 6, at least for the following aspects:
* Classes * let and const * Rest parameters and the spread operator (...args) * New methods in Math * Symbols and the "well-known symbol" Symbol.iterator
The output must be enclosed in an anonymous function isolating the code in a dedicated scope.
Experimental output mode compliant with ECMAScript 6 Strong Mode in a function scope.
Experimental output mode compliant with ECMAScript 6 Strong Mode in a function scope.
Strong Mode is a highly work-in-progress strawman to define stronger semantics for JavaScript, that can be optimized well. It is supported by the V8 team. See https://developers.google.com/v8/experiments
This output mode assumes that the target platform supports ECMAScript 6, at least for the following aspects:
* Classes * let and const * Rest parameters and the spread operator (...args) * New methods in Math * Symbols and the "well-known symbol" Symbol.iterator
The output must be enclosed in an anonymous function isolating the code in a dedicated scope.