Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

JavaScript engine feature support

Compare ECMAScript features between the ECMAScript 2021 (ES12) and ES5 Standards JavaScript modes in Australia. Both modes support a subset of ECMAScript features.

For more information about these features, see the ECMAScript language specifications (ECMA-262) on the Ecma International website.

Support definitions

  • Supported

    The feature has been tested and validated.

  • Not Supported

    The feature has not been validated in the current release.

  • Disallowed

    The feature does not align with the ServiceNow AI Platform programming model or poses a security or performance risk. Disallowed features result in an error.

ECMAScript 2022 (ES13) features

Important: Prior to deploying code to production, you should test scripts using supported ECMAScript 2022 (ES13) features thoroughly due to the newly added and partial support of features across this ECMAScript version.

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
public instance class fieldsSupportedNot Supported
private instance class fields basic supportNot SupportedNot Supported
private instance class fields initializersNot SupportedNot Supported
optional private instance class fields accessNot SupportedNot Supported
optional deep private instance class fields accessNot SupportedNot Supported
computed instance class fieldsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
public static class fieldsSupportedNot Supported
static class fields use [[Define]]SupportedNot Supported
private static class fieldsSupportedNot Supported
computed static class fieldsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
private instance methodsNot SupportedNot Supported
private static methodsSupportedNot Supported
private accessor propertiesNot SupportedNot Supported
private static accessor propertiesSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Array.prototype.at()SupportedNot Supported
String.prototype.at()SupportedNot Supported
%TypedArray%.prototype.at()SupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Basic functionalitySupportedNot Supported
ToObject called before ToPropertyKeySupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Error has causeSupportedNot Supported
Error.prototype lacks causeSupportedNot Supported
EvalError has causeSupportedNot Supported
EvalError.prototype lacks causeSupportedNot Supported
RangeError has causeSupportedNot Supported
RangeError.prototype lacks causeSupportedNot Supported
ReferenceError has causeSupportedNot Supported
ReferenceError.prototype lacks causeSupportedNot Supported
SyntaxError has causeSupportedNot Supported
SyntaxError.prototype lacks causeSupportedNot Supported
TypeError has causeSupportedNot Supported
TypeError.prototype lacks causeSupportedNot Supported
URIError has causeSupportedNot Supported
URIError.prototype lacks causeSupportedNot Supported
AggregateError has causeSupportedNot Supported
AggregateError.prototype lacks causeSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
constructor supports itNot SupportedNot Supported
shows up in flagsNot SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Ergonomic brand checks for private fieldsNot SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Class static initialization blocksSupportedNot Supported

ECMAScript 2021 (ES12) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
fulfillmentSupportedDisallowed
AggregateErrorSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
WeakRef minimal supportDisallowedDisallowed
FinalizationRegistry minimal supportDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
||= basic supportSupportedNot Supported
||= short-circuiting behaviorSupportedNot Supported
||= setter not unnecessarily invokedSupportedNot Supported
&&= basic supportSupportedNot Supported
&&= short-circuiting behaviorSupportedNot Supported
&&= setter not unnecessarily invokedSupportedNot Supported
??= basic supportSupportedNot Supported
??= short-circuiting behaviorSupportedNot Supported
??= setter not unnecessarily invokedSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
numeric separatorsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
String.prototype.replaceAllSupportedSupported

ECMAScript 2020 (ES11) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
throws on non-global regexSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
constructorSupportedNot Supported
BigInt.asUintNSupportedNot Supported
BigInt.asIntNSupportedNot Supported
BigInt64ArraySupportedNot Supported
BigUint64ArraySupportedNot Supported
DataView.prototype.getBigInt64Not SupportedNot Supported
DataView.prototype.getBigUint64Not SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
"globalThis" global property is global objectSupportedDisallowed
"globalThis" global property has correct property descriptorSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
optional property accessSupportedNot Supported
optional bracket accessSupportedNot Supported
optional method callSupportedNot Supported
optional function callSupportedNot Supported
spread parameters after optional chainingSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Promise.allSettledSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
nullish coalescing operator (??)SupportedNot Supported

ECMAScript 2019 (ES10) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basicSupportedNot Supported
empty descriptionSupportedNot Supported
undefined descriptionSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
String.prototype.trimLeftSupportedSupported
String.prototype.trimRightSupportedSupported
String.prototype.trimStartSupportedNot Supported
String.prototype.trimEndSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Array.prototype.flatSupportedNot Supported
Array.prototype.flatMapSupportedNot Supported
flat and flatMap in Array.prototype[@@unscopables]SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Object.fromEntriesSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basicSupportedDisallowed
awaitDisallowedDisallowed
yieldDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
functions created with the Function constructorDisallowedDisallowed
arrowsDisallowedDisallowed
[native code]DisallowedDisallowed
class expression with implicit constructorDisallowedDisallowed
class expression with explicit constructorDisallowedDisallowed
unicode escape sequences in identifiersDisallowedDisallowed
methods and computed property namesSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Line separator can appear in string literalsDisallowedDisallowed
Paragraph separator can appear in string literalsDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Well-formed JSON.stringifyDisallowedDisallowed

ECMAScript 2018 (ES9) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
object rest propertiesSupportedNot Supported
object spread propertiesSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic supportSupportedDisallowed
don't change resolution valueSupportedDisallowed
change rejection valueSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
async generatorsDisallowedDisallowed
for-await-of loopsDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
s (dotAll) flag for regular expressionsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
RegExp named capture groupsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
RegExp Lookbehind AssertionsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
RegExp Unicode Property EscapesSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
template literal revisionDisallowedDisallowed

ECMAScript 2017 (ES8) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Object.valuesSupportedNot Supported
Object.entriesSupportedNot Supported
Object.getOwnPropertyDescriptorsSupportedNot Supported
Object.getOwnPropertyDescriptors doesn't provide undefined descriptorsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
String.prototype.padStartSupportedNot Supported
String.prototype.padEndSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
in parameter listsSupportedNot Supported
in argument listsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
returnSupportedDisallowed
throwSupportedDisallowed
no line break between async and functionSupportedDisallowed
no "prototype" propertyDisallowedDisallowed
awaitSupportedDisallowed
await, rejectionSupportedDisallowed
must await a valueDisallowedDisallowed
can await non-Promise valuesSupportedDisallowed
cannot await in parametersDisallowedDisallowed
async methods, object literalsSupportedDisallowed
async methods, classesDisallowedDisallowed
async arrow functions in methods, classesSupportedDisallowed
async arrow functionsSupportedDisallowed
correct prototype chainDisallowedDisallowed
async function prototype, Symbol.toStringTagDisallowedDisallowed
async function constructorDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
SharedArrayBufferDisallowedDisallowed
SharedArrayBuffer[Symbol.species]DisallowedDisallowed
SharedArrayBuffer.prototype.byteLengthDisallowedDisallowed
SharedArrayBuffer.prototype.sliceDisallowedDisallowed
SharedArrayBuffer.prototype[Symbol.toStringTag]DisallowedDisallowed
Atomics.addDisallowedDisallowed
Atomics.andDisallowedDisallowed
Atomics.compareExchangeDisallowedDisallowed
Atomics.exchangeDisallowedDisallowed
Atomics.waitDisallowedDisallowed
Atomics.wakeDisallowedDisallowed
Atomics.isLockFreeDisallowedDisallowed
Atomics.loadDisallowedDisallowed
Atomics.orDisallowedDisallowed
Atomics.storeDisallowedDisallowed
Atomics.subDisallowedDisallowed
Atomics.xorDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
__defineGetter__SupportedDisallowed
__defineGetter__, symbolsSupportedDisallowed
__defineGetter__, ToObject(this)DisallowedDisallowed
__defineSetter__SupportedDisallowed
__defineSetter__, symbolsSupportedDisallowed
__defineSetter__, ToObject(this)DisallowedDisallowed
__lookupGetter__SupportedDisallowed
__lookupGetter__, prototype chainSupportedDisallowed
__lookupGetter__, symbolsSupportedDisallowed
__lookupGetter__, ToObject(this)DisallowedDisallowed
__lookupGetter__, data properties can shadow accessorsDisallowedDisallowed
__lookupSetter__SupportedDisallowed
__lookupSetter__, prototype chainSupportedDisallowed
__lookupSetter__, symbolsSupportedDisallowed
__lookupSetter__, ToObject(this)DisallowedDisallowed
__lookupSetter__, data properties can shadow accessorsDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
__defineGetter__SupportedDisallowed
__defineSetter__SupportedDisallowed
__lookupGetter__SupportedDisallowed
__lookupSetter__SupportedDisallowed

ECMAScript 2016 (ES7) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic supportSupportedNot Supported
assignmentSupportedNot Supported
early syntax error for unary negation without parenthesesDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Array.prototype.includesSupportedNot Supported
Array.prototype.includes is genericNot SupportedNot Supported
%TypedArray%.prototype.includesSupportedDisallowed

ECMAScript 2015 (ES6) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
direct recursionDisallowedDisallowed
mutual recursionDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
explicit undefined defers to the defaultSupportedNot Supported
defaults can refer to previous parametersSupportedNot Supported
arguments object interactionSupportedNot Supported
temporal dead zoneDisallowedDisallowed
separate scopeSupportedNot Supported
new Function() supportDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
function 'length' propertySupportedNot Supported
arguments object interactionNot SupportedNot Supported
can't be used in settersDisallowedDisallowed
new Function() supportDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
with arrays, in function callsSupportedNot Supported
with arrays, in array literalsSupportedNot Supported
with sparse arrays, in function callsSupportedNot Supported
with sparse arrays, in array literalsSupportedNot Supported
with strings, in function callsSupportedNot Supported
with strings, in array literalsSupportedNot Supported
with astral plane strings, in function callsSupportedNot Supported
with astral plane strings, in array literalsSupportedNot Supported
with generator instances, in callsDisallowedDisallowed
with generator instances, in arraysDisallowedDisallowed
with generic iterables, in callsSupportedNot Supported
with generic iterables, in arraysSupportedNot Supported
with instances of iterables, in callsSupportedNot Supported
with instances of iterables, in arraysSupportedNot Supported
spreading non-iterables is a runtime errorSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
computed propertiesSupportedNot Supported
shorthand propertiesSupportedNot Supported
shorthand methodsSupportedNot Supported
string-keyed shorthand methodsSupportedNot Supported
computed shorthand methodsSupportedNot Supported
computed accessorsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
with arraysSupportedNot Supported
with sparse arraysSupportedNot Supported
with stringsSupportedNot Supported
with astral plane stringsSupportedNot Supported
with generator instancesDisallowedDisallowed
with generic iterablesSupportedNot Supported
with instances of generic iterablesSupportedNot Supported
iterator closing, breakSupportedNot Supported
iterator closing, throwSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
octal literalsSupportedNot Supported
binary literalsSupportedNot Supported
octal supported by Number()Not SupportedNot Supported
binary supported by Number()Not SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
toString conversionSupportedNot Supported
tagged template literalsSupportedNot Supported
passed array is frozenSupportedNot Supported
line break normalizationDisallowedDisallowed
TemplateStrings call site cachingSupportedNot Supported
TemplateStrings permanent cachingSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
"y" flagSupportedNot Supported
"y" flag, lastIndexSupportedNot Supported
"u" flagSupportedNot Supported
"u" flag, non-BMP Unicode charactersSupportedNot Supported
"u" flag, Unicode code point escapesSupportedNot Supported
"u" flag, case foldingSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
with arraysSupportedNot Supported
with sparse arraysSupportedNot Supported
with stringsSupportedNot Supported
with astral plane stringsSupportedNot Supported
with generator instancesDisallowedDisallowed
with generic iterablesSupportedNot Supported
with instances of generic iterablesSupportedNot Supported
iterator closingSupportedNot Supported
trailing commas in iterable patternsSupportedNot Supported
with objectsSupportedNot Supported
object destructuring with primitivesSupportedNot Supported
trailing commas in object patternsSupportedNot Supported
throws on null and undefinedSupportedNot Supported
computed propertiesSupportedNot Supported
multiples in a single var statementSupportedNot Supported
nestedSupportedNot Supported
in for-in loop headsSupportedNot Supported
in for-of loop headsSupportedNot Supported
in catch headsSupportedNot Supported
restSupportedNot Supported
defaultsSupportedNot Supported
defaults, let temporal dead zoneDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
with arraysSupportedNot Supported
with sparse arraysSupportedNot Supported
with stringsSupportedNot Supported
with astral plane stringsSupportedNot Supported
with generator instancesDisallowedDisallowed
with generic iterablesSupportedNot Supported
with instances of generic iterablesSupportedNot Supported
iterator closingSupportedNot Supported
iterable destructuring expressionSupportedNot Supported
chained iterable destructuringSupportedNot Supported
trailing commas in iterable patternsSupportedNot Supported
with objectsSupportedNot Supported
object destructuring with primitivesSupportedNot Supported
trailing commas in object patternsSupportedNot Supported
object destructuring expressionSupportedNot Supported
parenthesized left-hand-side is a syntax errorDisallowedDisallowed
chained object destructuringSupportedNot Supported
throws on null and undefinedSupportedNot Supported
computed propertiesSupportedNot Supported
nestedSupportedNot Supported
restSupportedNot Supported
nested restSupportedNot Supported
empty patternsSupportedNot Supported
defaultsSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
with arraysSupportedNot Supported
with sparse arraysSupportedNot Supported
with stringsSupportedNot Supported
with astral plane stringsSupportedNot Supported
with generator instancesDisallowedDisallowed
with generic iterablesSupportedNot Supported
with instances of generic iterablesSupportedNot Supported
iterator closingSupportedNot Supported
trailing commas in iterable patternsSupportedNot Supported
with objectsSupportedNot Supported
object destructuring with primitivesSupportedNot Supported
trailing commas in object patternsSupportedNot Supported
throws on null and undefinedSupportedNot Supported
computed propertiesSupportedNot Supported
nestedSupportedNot Supported
'arguments' interactionSupportedNot Supported
new Function() supportDisallowedDisallowed
in parameters, function 'length' propertySupportedNot Supported
restSupportedNot Supported
empty patternsSupportedNot Supported
defaultsSupportedNot Supported
defaults, separate scopeSupportedNot Supported
defaults, new Function() supportDisallowedDisallowed
aliased defaults, arrow functionSupportedNot Supported
shorthand defaults, arrow functionSupportedNot Supported
duplicate identifierDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
in stringsSupportedNot Supported
in identifiersNot SupportedNot Supported
in property key definitionsNot SupportedNot Supported
in property key accessesNot SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
in constructorsNot SupportedNot Supported
assignment is an early errorDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic supportSupportedSupported
is block-scopedSupportedNot Supported
scope shadow resolutionSupportedNot Supported
cannot be in statementsDisallowedDisallowed
redefining a const is an errorDisallowedDisallowed
for loop statement scopeSupportedNot Supported
for-in loop iteration scopeSupportedNot Supported
for-of loop iteration scopeSupportedNot Supported
temporal dead zoneNot SupportedNot Supported
basic support (strict mode)SupportedSupported
is block-scoped (strict mode)SupportedNot Supported
scope shadow resolution (strict mode)SupportedNot Supported
cannot be in statements (strict mode)DisallowedDisallowed
redefining a const (strict mode)DisallowedDisallowed
for loop statement scope (strict mode)SupportedNot Supported
for-in loop iteration scope (strict mode)SupportedNot Supported
for-of loop iteration scope (strict mode)SupportedNot Supported
temporal dead zone (strict mode)Not SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic supportSupportedNot Supported
is block-scopedSupportedNot Supported
scope shadow resolutionSupportedNot Supported
cannot be in statementsDisallowedDisallowed
for loop statement scopeSupportedNot Supported
temporal dead zoneNot SupportedNot Supported
for/for-in loop iteration scopeSupportedNot Supported
for-in loop binding shadowing parameterDisallowedDisallowed
basic support (strict mode)SupportedNot Supported
is block-scoped (strict mode)SupportedNot Supported
scope shadow resolution (strict mode)SupportedNot Supported
cannot be in statements (strict mode)DisallowedDisallowed
for loop statement scope (strict mode)SupportedNot Supported
temporal dead zone (strict mode)Not SupportedNot Supported
for/for-in loop iteration scope (strict mode)SupportedNot Supported
for-in loop binding shadowing parameter (strict mode)DisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
block-level function declarationSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
0 parametersSupportedNot Supported
1 parameter, no bracketsSupportedNot Supported
multiple parametersSupportedNot Supported
lexical "this" bindingSupportedNot Supported
"this" unchanged by call or applySupportedNot Supported
can't be bound, can be curriedSupportedNot Supported
lexical "arguments" bindingSupportedNot Supported
no line break between parameters and =>DisallowedDisallowed
correct precedenceDisallowedDisallowed
no "prototype" propertyNot SupportedNot Supported
lexical "super" binding in constructorsSupportedNot Supported
lexical "super" binding in methodsSupportedNot Supported
lexical "new.target" bindingNot SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
class statementSupportedNot Supported
is block-scopedSupportedNot Supported
class expressionSupportedNot Supported
anonymous classSupportedNot Supported
constructorSupportedNot Supported
prototype methodsSupportedNot Supported
string-keyed methodsSupportedNot Supported
computed prototype methodsSupportedNot Supported
optional semicolonsSupportedNot Supported
static methodsSupportedNot Supported
computed static methodsSupportedNot Supported
accessor propertiesSupportedNot Supported
computed accessor propertiesSupportedNot Supported
static accessor propertiesSupportedNot Supported
computed static accessor propertiesSupportedNot Supported
class name is lexically scopedSupportedNot Supported
computed names, temporal dead zoneNot SupportedNot Supported
methods aren't enumerableSupportedNot Supported
implicit strict modeNot SupportedNot Supported
constructor requires newSupportedNot Supported
extendsSupportedNot Supported
extends expressionsSupportedNot Supported
extends nullSupportedNot Supported
new.targetSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
statement in constructorsSupportedNot Supported
expression in constructorsSupportedNot Supported
in methods, property accessSupportedNot Supported
in methods, method callsSupportedNot Supported
method calls use correct "this" bindingSupportedNot Supported
constructor calls use correct "new.target" bindingSupportedNot Supported
is statically boundSupportedNot Supported
super() invokes the correct constructorSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedDisallowed
generator function expressionsSupportedDisallowed
correct "this" bindingSupportedDisallowed
can't use "this" with newSupportedDisallowed
sendingSupportedDisallowed
%GeneratorPrototype%DisallowedDisallowed
%GeneratorPrototype% prototype chainDisallowedDisallowed
%GeneratorPrototype%.constructorDisallowedDisallowed
%GeneratorPrototype%.throwDisallowedDisallowed
%GeneratorPrototype%.returnDisallowedDisallowed
yield operator precedenceDisallowedDisallowed
yield *, arraysSupportedDisallowed
yield *, sparse arraysSupportedDisallowed
yield *, stringsSupportedDisallowed
yield *, astral plane stringsSupportedDisallowed
yield *, generator instancesSupportedDisallowed
yield *, generic iterablesSupportedDisallowed
yield *, instances of iterablesSupportedDisallowed
yield * on non-iterables is a runtime errorSupportedDisallowed
yield *, iterator closingSupportedDisallowed
yield *, iterator closing via throw()SupportedDisallowed
shorthand generator methodsSupportedDisallowed
string-keyed shorthand generator methodsSupportedDisallowed
computed shorthand generatorsSupportedDisallowed
shorthand generator methods, classesSupportedDisallowed
computed shorthand generators, classesSupportedDisallowed
shorthand generators can't be constructorsDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Int8ArraySupportedDisallowed
Uint8ArraySupportedDisallowed
Uint8ClampedArraySupportedDisallowed
Int16ArraySupportedDisallowed
Uint16ArraySupportedDisallowed
Int32ArraySupportedDisallowed
Uint32ArraySupportedDisallowed
Float32ArraySupportedDisallowed
Float64ArraySupportedDisallowed
DataView (Int8)SupportedDisallowed
DataView (Uint8)SupportedDisallowed
DataView (Int16)SupportedDisallowed
DataView (Uint16)SupportedDisallowed
DataView (Int32)SupportedDisallowed
DataView (Uint32)SupportedDisallowed
DataView (Float32)SupportedDisallowed
DataView (Float64)SupportedDisallowed
ArrayBuffer[Symbol.species]SupportedDisallowed
constructors require newSupportedDisallowed
constructors accept generic iterablesSupportedDisallowed
correct prototype chainsDisallowedDisallowed
%TypedArray%.fromSupportedDisallowed
%TypedArray%.ofSupportedDisallowed
%TypedArray%.prototype.subarraySupportedDisallowed
%TypedArray%.prototype.joinSupportedDisallowed
%TypedArray%.prototype.indexOfSupportedDisallowed
%TypedArray%.prototype.lastIndexOfSupportedDisallowed
%TypedArray%.prototype.sliceSupportedDisallowed
%TypedArray%.prototype.everySupportedDisallowed
%TypedArray%.prototype.filterSupportedDisallowed
%TypedArray%.prototype.forEachSupportedDisallowed
%TypedArray%.prototype.mapSupportedDisallowed
%TypedArray%.prototype.reduceSupportedDisallowed
%TypedArray%.prototype.reduceRightSupportedDisallowed
%TypedArray%.prototype.reverseSupportedDisallowed
%TypedArray%.prototype.someSupportedDisallowed
%TypedArray%.prototype.sortSupportedDisallowed
%TypedArray%.prototype.copyWithinSupportedDisallowed
%TypedArray%.prototype.findSupportedDisallowed
%TypedArray%.prototype.findIndexSupportedDisallowed
%TypedArray%.prototype.fillSupportedDisallowed
%TypedArray%.prototype.keysSupportedDisallowed
%TypedArray%.prototype.valuesSupportedDisallowed
%TypedArray%.prototype.entriesSupportedDisallowed
%TypedArray%.prototype[Symbol.iterator]SupportedDisallowed
%TypedArray%[Symbol.species]DisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
constructor argumentsSupportedNot Supported
constructor requires newSupportedNot Supported
constructor accepts nullSupportedNot Supported
constructor invokes setSupportedNot Supported
iterator closingSupportedNot Supported
Map.prototype.set returns thisSupportedNot Supported
-0 key converts to +0SupportedNot Supported
Map.prototype.sizeSupportedNot Supported
Map.prototype.deleteSupportedNot Supported
Map.prototype.clearSupportedNot Supported
Map.prototype.forEachSupportedNot Supported
Map.prototype.keysSupportedNot Supported
Map.prototype.valuesSupportedNot Supported
Map.prototype.entriesSupportedNot Supported
Map.prototype[Symbol.iterator]SupportedNot Supported
Map.prototype isn't an instanceSupportedNot Supported
Map iterator prototype chainSupportedNot Supported
Map[Symbol.species]SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
constructor argumentsSupportedNot Supported
constructor requires newSupportedNot Supported
constructor accepts nullSupportedNot Supported
constructor invokes addSupportedNot Supported
iterator closingSupportedNot Supported
Set.prototype.add returns thisSupportedNot Supported
-0 key converts to +0SupportedNot Supported
Set.prototype.sizeSupportedNot Supported
Set.prototype.deleteSupportedNot Supported
Set.prototype.clearSupportedNot Supported
Set.prototype.forEachSupportedNot Supported
Set.prototype.keysSupportedNot Supported
Set.prototype.valuesSupportedNot Supported
Set.prototype.entriesSupportedNot Supported
Set.prototype[Symbol.iterator]SupportedNot Supported
Set.prototype isn't an instanceSupportedNot Supported
Set iterator prototype chainSupportedNot Supported
Set[Symbol.species]SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedDisallowed
constructor argumentsSupportedDisallowed
constructor requires newSupportedDisallowed
constructor accepts nullSupportedDisallowed
constructor invokes setSupportedDisallowed
frozen objects as keysSupportedDisallowed
iterator closingSupportedDisallowed
WeakMap.prototype.set returns thisSupportedDisallowed
WeakMap.prototype.deleteSupportedDisallowed
no WeakMap.prototype.clear methodSupportedDisallowed
.has, .get and .delete methods accept primitivesDisallowedDisallowed
WeakMap.prototype isn't an instanceDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedDisallowed
constructor argumentsSupportedDisallowed
constructor requires newSupportedDisallowed
constructor accepts nullSupportedDisallowed
constructor invokes addSupportedDisallowed
iterator closingSupportedDisallowed
WeakSet.prototype.add returns thisSupportedDisallowed
WeakSet.prototype.deleteSupportedDisallowed
no WeakSet.prototype.clear methodSupportedDisallowed
.has and .delete methods accept primitivesDisallowedDisallowed
WeakSet.prototype isn't an instanceDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
constructor requires newSupportedDisallowed
no "prototype" propertySupportedDisallowed
"get" handlerSupportedDisallowed
"get" handler, instances of proxiesSupportedDisallowed
"get" handler invariantsSupportedDisallowed
"set" handlerSupportedDisallowed
"set" handler, instances of proxiesSupportedDisallowed
"set" handler invariantsSupportedDisallowed
"has" handlerSupportedDisallowed
"has" handler, instances of proxiesSupportedDisallowed
"has" handler invariantsSupportedDisallowed
"deleteProperty" handlerSupportedDisallowed
"deleteProperty" handler invariantSupportedDisallowed
"getOwnPropertyDescriptor" handlerSupportedDisallowed
"getOwnPropertyDescriptor" handler invariantsSupportedDisallowed
"defineProperty" handlerSupportedDisallowed
"defineProperty" handler invariantsSupportedDisallowed
"getPrototypeOf" handlerSupportedDisallowed
"getPrototypeOf" handler invariantSupportedDisallowed
"setPrototypeOf" handlerSupportedDisallowed
"setPrototypeOf" handler invariantSupportedDisallowed
"isExtensible" handlerSupportedDisallowed
"isExtensible" handler invariantSupportedDisallowed
"preventExtensions" handlerSupportedDisallowed
"preventExtensions" handler invariantSupportedDisallowed
"ownKeys" handlerSupportedDisallowed
"ownKeys" handler invariantSupportedDisallowed
"apply" handlerSupportedDisallowed
"apply" handler invariantSupportedDisallowed
"construct" handlerSupportedDisallowed
"construct" handler invariantsSupportedDisallowed
Proxy.revocableSupportedDisallowed
Array.isArray supportSupportedDisallowed
JSON.stringify supportSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Reflect.getDisallowedDisallowed
Reflect.setDisallowedDisallowed
Reflect.hasDisallowedDisallowed
Reflect.deletePropertyDisallowedDisallowed
Reflect.getOwnPropertyDescriptorDisallowedDisallowed
Reflect.definePropertyDisallowedDisallowed
Reflect.getPrototypeOfDisallowedDisallowed
Reflect.setPrototypeOfDisallowedDisallowed
Reflect.isExtensibleDisallowedDisallowed
Reflect.preventExtensionsDisallowedDisallowed
Reflect.ownKeys, string keysDisallowedDisallowed
Reflect.ownKeys, symbol keysDisallowedDisallowed
Reflect.applyDisallowedDisallowed
Reflect.constructDisallowedDisallowed
Reflect.construct sets new.target meta-propertyDisallowedDisallowed
Reflect.construct creates instances from third argumentDisallowedDisallowed
Reflect.construct, Array subclassingDisallowedDisallowed
Reflect.construct, RegExp subclassingDisallowedDisallowed
Reflect.construct, Function subclassingDisallowedDisallowed
Reflect.construct, Promise subclassingDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedDisallowed
constructor requires newSupportedDisallowed
Promise.prototype isn't an instanceSupportedDisallowed
Promise.allSupportedDisallowed
Promise.all, generic iterablesSupportedDisallowed
Promise.raceSupportedDisallowed
Promise.race, generic iterablesSupportedDisallowed
Promise[Symbol.species]SupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedNot Supported
typeof supportSupportedNot Supported
symbol keys are hidden to pre-ES6 codeSupportedNot Supported
Object.defineProperty supportSupportedNot Supported
symbols inherit from Symbol.prototypeSupportedNot Supported
cannot coerce to string or numberSupportedNot Supported
can convert with String()SupportedNot Supported
new Symbol() throwsSupportedNot Supported
Object(symbol)Not SupportedNot Supported
JSON.stringify ignores symbol primitivesSupportedNot Supported
JSON.stringify ignores symbol objectsSupportedNot Supported
global symbol registrySupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Symbol.hasInstanceSupportedDisallowed
Symbol.isConcatSpreadableSupportedDisallowed
Symbol.iterator, existenceSupportedDisallowed
Symbol.iterator, arguments objectSupportedDisallowed
Symbol.species, existenceSupportedDisallowed
Symbol.species, Array.prototype.concatDisallowedDisallowed
Symbol.species, Array.prototype.filterDisallowedDisallowed
Symbol.species, Array.prototype.mapDisallowedDisallowed
Symbol.species, Array.prototype.sliceDisallowedDisallowed
Symbol.species, Array.prototype.spliceDisallowedDisallowed
Symbol.species, RegExp.prototype[Symbol.split]DisallowedDisallowed
Symbol.species, Promise.prototype.thenDisallowedDisallowed
Symbol.replaceSupportedDisallowed
Symbol.searchSupportedDisallowed
Symbol.splitSupportedDisallowed
Symbol.matchSupportedDisallowed
Symbol.match, RegExp constructorDisallowedDisallowed
Symbol.match, String.prototype.startsWithDisallowedDisallowed
Symbol.match, String.prototype.endsWithDisallowedDisallowed
Symbol.match, String.prototype.includesDisallowedDisallowed
Symbol.toPrimitiveSupportedDisallowed
Symbol.toStringTagSupportedDisallowed
Symbol.toStringTag affects existing built-insSupportedDisallowed
Symbol.toStringTag, new built-insSupportedDisallowed
Symbol.toStringTag, misc. built-insSupportedDisallowed
Symbol.unscopablesSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Object.assignSupportedNot Supported
Object.isSupportedNot Supported
Object.getOwnPropertySymbolsSupportedNot Supported
Object.setPrototypeOfSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
function statementsSupportedSupported
function expressionsSupportedSupported
new FunctionNot SupportedNot Supported
bound functionsSupportedNot Supported
variables (function)SupportedNot Supported
object methods (function)SupportedNot Supported
accessor propertiesSupportedNot Supported
shorthand methodsSupportedNot Supported
shorthand methods (no lexical binding)SupportedNot Supported
symbol-keyed methodsNot SupportedNot Supported
class statementsSupportedNot Supported
class expressionsSupportedNot Supported
variables (class)SupportedNot Supported
object methods (class)Not SupportedNot Supported
class prototype methodsSupportedNot Supported
class static methodsSupportedNot Supported
isn't writable, is configurableSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
String.rawSupportedNot Supported
String.fromCodePointSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
String.prototype.codePointAtSupportedSupported
String.prototype.normalizeSupportedSupported
String.prototype.repeatSupportedSupported
String.prototype.startsWithSupportedSupported
String.prototype.startsWith throws on RegExpNot SupportedNot Supported
String.prototype.endsWithSupportedSupported
String.prototype.endsWith throws on RegExpNot SupportedNot Supported
String.prototype.includesSupportedSupported
String.prototype[Symbol.iterator]SupportedNot Supported
String iterator prototype chainSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
RegExp.prototype.flagsSupportedNot Supported
RegExp.prototype[Symbol.match]SupportedNot Supported
RegExp.prototype[Symbol.replace]SupportedNot Supported
RegExp.prototype[Symbol.split]SupportedNot Supported
RegExp.prototype[Symbol.search]SupportedNot Supported
RegExp[Symbol.species]SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Array.from, array-like objectsSupportedNot Supported
Array.from, generator instancesSupportedDisallowed
Array.from, generic iterablesSupportedNot Supported
Array.from, instances of generic iterablesSupportedNot Supported
Array.from map function, array-like objectsSupportedNot Supported
Array.from map function, generator instancesSupportedDisallowed
Array.from map function, generic iterablesSupportedNot Supported
Array.from map function, instances of iterablesSupportedNot Supported
Array.from, iterator closingSupportedNot Supported
Array.ofSupportedNot Supported
Array[Symbol.species]SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Array.prototype.copyWithinSupportedNot Supported
Array.prototype.findSupportedNot Supported
Array.prototype.findIndexSupportedNot Supported
Array.prototype.fillSupportedNot Supported
Array.prototype.keysSupportedNot Supported
Array.prototype.valuesSupportedNot Supported
Array.prototype.entriesSupportedNot Supported
Array.prototype[Symbol.iterator]SupportedNot Supported
Array iterator prototype chainSupportedNot Supported
Array.prototype[Symbol.unscopables]SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Number.isFiniteSupportedNot Supported
Number.isIntegerSupportedNot Supported
Number.isSafeIntegerSupportedNot Supported
Number.isNaNSupportedNot Supported
Number.parseFloatSupportedDisallowed
Number.parseIntSupportedDisallowed
Number.EPSILONSupportedNot Supported
Number.MIN_SAFE_INTEGERSupportedNot Supported
Number.MAX_SAFE_INTEGERSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Math.clz32SupportedNot Supported
Math.imulSupportedNot Supported
Math.signSupportedNot Supported
Math.log10SupportedNot Supported
Math.log2SupportedNot Supported
Math.log1pSupportedNot Supported
Math.expm1SupportedNot Supported
Math.coshSupportedNot Supported
Math.sinhSupportedNot Supported
Math.tanhSupportedNot Supported
Math.acoshSupportedNot Supported
Math.asinhSupportedNot Supported
Math.atanhSupportedNot Supported
Math.truncSupportedNot Supported
Math.froundSupportedNot Supported
Math.cbrtSupportedNot Supported
Math.hypotSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Date.prototype[Symbol.toPrimitive]SupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
length property (accessing)DisallowedDisallowed
length property (setting)DisallowedDisallowed
correct prototype chainDisallowedDisallowed
Array.isArray supportSupportedDisallowed
Array.prototype.concatSupportedDisallowed
Array.prototype.filterSupportedDisallowed
Array.prototype.mapSupportedDisallowed
Array.prototype.sliceSupportedDisallowed
Array.prototype.spliceSupportedDisallowed
Array.fromSupportedDisallowed
Array.ofSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalityDisallowedDisallowed
correct prototype chainDisallowedDisallowed
RegExp.prototype.execDisallowedDisallowed
RegExp.prototype.testDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
can be calledDisallowedDisallowed
correct prototype chainDisallowedDisallowed
can be used with "new"DisallowedDisallowed
Function.prototype.callDisallowedDisallowed
Function.prototype.applyDisallowedDisallowed
Function.prototype.bindDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalityDisallowedDisallowed
correct prototype chainDisallowedDisallowed
Promise.allDisallowedDisallowed
Promise.raceDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Boolean is subclassableDisallowedDisallowed
Number is subclassableDisallowedDisallowed
String is subclassableDisallowedDisallowed
Error is subclassableDisallowedDisallowed
Map is subclassableDisallowedDisallowed
Set is subclassableDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionsDisallowedDisallowed
generator functionsDisallowedDisallowed
arrow functionsDisallowedDisallowed
classesDisallowedDisallowed
subclassesDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
ToPrimitiveSupportedDisallowed
CreateListFromArrayLikeSupportedDisallowed
instanceof operatorSupportedDisallowed
HasBindingSupportedDisallowed
CreateDynamicFunctionSupportedDisallowed
ClassDefinitionEvaluationSupportedDisallowed
IteratorComplete, IteratorValueSupportedDisallowed
ToPropertyDescriptorSupportedDisallowed
Object.assignSupportedDisallowed
Object.definePropertiesSupportedDisallowed
Function.prototype.bindSupportedDisallowed
Error.prototype.toStringSupportedDisallowed
String.rawSupportedDisallowed
RegExp constructorSupportedDisallowed
RegExp.prototype.flagsSupportedDisallowed
RegExp.prototype.testSupportedDisallowed
RegExp.prototype.toStringSupportedDisallowed
RegExp.prototype[Symbol.match]SupportedDisallowed
RegExp.prototype[Symbol.replace]SupportedDisallowed
RegExp.prototype[Symbol.search]SupportedDisallowed
RegExp.prototype[Symbol.split]SupportedDisallowed
Array.fromSupportedDisallowed
Array.prototype.concatSupportedDisallowed
Array.prototype iteration methodsSupportedDisallowed
Array.prototype.popSupportedDisallowed
Array.prototype.reverseSupportedDisallowed
Array.prototype.shiftSupportedDisallowed
Array.prototype.spliceSupportedDisallowed
Array.prototype.toStringSupportedDisallowed
JSON.stringifySupportedDisallowed
Promise resolve functionsSupportedDisallowed
String.prototype.matchSupportedDisallowed
String.prototype.replaceSupportedDisallowed
String.prototype.searchSupportedDisallowed
String.prototype.splitSupportedDisallowed
Date.prototype.toJSONSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Object.assignSupportedDisallowed
Array.fromSupportedDisallowed
Array.ofSupportedDisallowed
Array.prototype.copyWithinSupportedDisallowed
Array.prototype.fillSupportedDisallowed
Array.prototype.popSupportedDisallowed
Array.prototype.pushSupportedDisallowed
Array.prototype.reverseSupportedDisallowed
Array.prototype.shiftSupportedDisallowed
Array.prototype.spliceSupportedDisallowed
Array.prototype.unshiftSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
[[Set]]SupportedDisallowed
SetIntegrityLevelSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Array.prototype.copyWithinSupportedDisallowed
Array.prototype.popSupportedDisallowed
Array.prototype.reverseSupportedDisallowed
Array.prototype.shiftSupportedDisallowed
Array.prototype.spliceSupportedDisallowed
Array.prototype.unshiftSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
[[Set]]SupportedDisallowed
Object.assignSupportedDisallowed
Object.prototype.hasOwnPropertySupportedDisallowed
Function.prototype.bindSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
SetIntegrityLevelSupportedDisallowed
TestIntegrityLevelSupportedDisallowed
SerializeJSONObjectSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Object.getPrototypeOfDisallowedDisallowed
Object.getOwnPropertyDescriptorDisallowedDisallowed
Object.getOwnPropertyNamesDisallowedDisallowed
Object.sealDisallowedDisallowed
Object.freezeDisallowedDisallowed
Object.preventExtensionsDisallowedDisallowed
Object.isSealedDisallowedDisallowed
Object.isFrozenDisallowedDisallowed
Object.isExtensibleDisallowedDisallowed
Object.keysDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Object.keysSupportedDisallowed
Object.getOwnPropertyNamesSupportedDisallowed
Object.assignDisallowedDisallowed
JSON.stringifyDisallowedDisallowed
JSON.parseDisallowedDisallowed
Reflect.ownKeys, string key orderDisallowedDisallowed
Reflect.ownKeys, symbol key orderDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
var ⸯ;DisallowedDisallowed
var ð ‹€;DisallowedDisallowed
no escaped reserved words as identifiersDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
hoisted block-level function declarationSupportedDisallowed
labeled function statementsDisallowedDisallowed
function statements in if-statement clausesDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic supportSupportedDisallowed
multiple __proto__ is an errorDisallowedDisallowed
not a computed propertyDisallowedDisallowed
not a shorthand propertyDisallowedDisallowed
not a shorthand methodDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
get prototypeDisallowedDisallowed
set prototypeDisallowedDisallowed
absent from Object.create(null)DisallowedDisallowed
present in hasOwnProperty()DisallowedDisallowed
correct property descriptorDisallowedDisallowed
present in Object.getOwnPropertyNames()DisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
existenceSupportedDisallowed
tags' names are lowercaseSupportedDisallowed
quotes in arguments are escapedSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
basic functionalitySupportedDisallowed
returns thisSupportedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
hyphens in character setsDisallowedDisallowed
invalid character escapesDisallowedDisallowed
invalid control-character escapesDisallowedDisallowed
invalid Unicode escapesDisallowedDisallowed
invalid hexadecimal escapesDisallowedDisallowed
incomplete patterns and quantifiersDisallowedDisallowed
octal escape sequencesDisallowedDisallowed
invalid backreferences become octal escapesDisallowedDisallowed

ECMAScript 2009 (ES5) features

FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Getter accessorsSupportedSupported
Setter accessorsSupportedSupported
Trailing commas in object literalsSupportedSupported
Trailing commas in array literalsSupportedSupported
Reserved words as property namesSupportedSupported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Object.createSupportedSupported
Object.definePropertySupportedSupported
Object.definePropertiesSupportedSupported
Object.getPrototypeOfSupportedSupported
Object.keysSupportedSupported
Object.sealSupportedSupported
Object.freezeSupportedSupported
Object.preventExtensionsSupportedSupported
Object.isSealedSupportedSupported
Object.isFrozenSupportedSupported
Object.isExtensibleSupportedSupported
Object.getOwnPropertyDescriptorSupportedSupported
Object.getOwnPropertyNamesSupportedSupported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Array.isArraySupportedSupported
Array.prototype.indexOfSupportedSupported
Array.prototype.lastIndexOfSupportedSupported
Array.prototype.everySupportedSupported
Array.prototype.someSupportedSupported
Array.prototype.forEachSupportedSupported
Array.prototype.mapSupportedSupported
Array.prototype.filterSupportedSupported
Array.prototype.reduceSupportedSupported
Array.prototype.reduceRightSupportedSupported
Array.prototype.sort: compareFn must be function or undefinedSupportedNot Supported
Array.prototype.sort: compareFn may be explicit undefinedSupportedSupported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Property access on stringsSupportedSupported
String.prototype.splitSupportedNot Supported
String.prototype.trimSupportedSupported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Date.prototype.toISOStringSupportedSupported
Date.nowSupportedSupported
Date.prototype.toJSONSupportedNot Supported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
undefinedSupportedSupported
NaNSupportedSupported
InfinitySupportedSupported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Number.prototype.toExponential rounds properlySupportedSupported
Number.prototype.toExponential throws on ±Infinity fractionDigitsSupportedSupported
Number.prototype.toExponential does not throw on edge casesSupportedSupported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
reserved wordsDisallowedDisallowed
"this" is undefined in functionsSupportedDisallowed
"this" is not coerced to object in primitive methodsDisallowedDisallowed
"this" is not coerced to object in primitive accessorsDisallowedDisallowed
legacy octal is a SyntaxErrorSupportedDisallowed
assignment to unresolvable identifiers is a ReferenceErrorSupportedDisallowed
assignment to eval or arguments is a SyntaxErrorSupportedDisallowed
assignment to non-writable properties is a TypeErrorSupportedDisallowed
eval or arguments bindings is a SyntaxErrorDisallowedDisallowed
arguments.caller removed or is a TypeErrorSupportedDisallowed
arguments.callee is a TypeErrorSupportedDisallowed
(function(){}).caller and (function(){}).arguments is a TypeErrorSupportedDisallowed
arguments is unmappedDisallowedDisallowed
eval() can't create bindingsDisallowedDisallowed
deleting bindings is a SyntaxErrorDisallowedDisallowed
deleting non-configurable properties is a TypeErrorDisallowedDisallowed
"with" is a SyntaxErrorSupportedDisallowed
repeated parameter names is a SyntaxErrorSupportedDisallowed
function expressions with matching name and argument are validDisallowedDisallowed
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
Function.prototype.bindSupportedSupported
FeatureECMAScript 2021 (ES12) modeES5 Standards mode
JSONSupportedSupported

Parent Topic:JavaScript engine on the platform