JavaScript エンジン機能のサポート
Washington DC の ECMAScript 2021 (ES12) と ES5 標準 JavaScript モード間の ECMAScript 機能を比較します。どちらのモードも ECMAScript 機能のサブセットをサポートしています。
これらの機能の詳細については、Ecma International の Web サイトで ECMAScript 言語仕様 (ECMA-262) を参照してください。
サポート定義
- サポート対象
- この機能はテストおよび検証済みです。
- サポート対象外
- この機能は現在のリリースでは検証されていません。
- 許可されていない
- この機能は Now Platform プログラミングモデルに適合していないか、セキュリティまたはパフォーマンス上のリスクがあります。許可されていない機能はエラーになります。
ECMAScript 2022 (ES13) の機能
重要:
コードを本番環境に展開する前に、サポートされている ECMAScript 2022 (ES13) 機能を使用してスクリプトを十分にテストする必要があります。これは、この ECMAScript バージョン全体で機能が新しく追加され、部分的にサポートされているためです。
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| public instance class fields | サポート対象 | サポート対象外 |
| private instance class fields basic support | サポート対象外 | サポート対象外 |
| private instance class fields initializers | サポート対象外 | サポート対象外 |
| optional private instance class fields access | サポート対象外 | サポート対象外 |
| optional deep private instance class fields access | サポート対象外 | サポート対象外 |
| computed instance class fields | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| public static class fields | サポート対象 | サポート対象外 |
| static class fields use [[Define]] | サポート対象 | サポート対象外 |
| private static class fields | サポート対象 | サポート対象外 |
| computed static class fields | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| private instance methods | サポート対象外 | サポート対象外 |
| private static methods | サポート対象 | サポート対象外 |
| private accessor properties | サポート対象外 | サポート対象外 |
| private static accessor properties | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Array.prototype.at() | サポート対象外 | サポート対象外 |
| String.prototype.at() | サポート対象 | サポート対象外 |
| %TypedArray%.prototype.at() | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Basic functionality | サポート対象 | サポート対象外 |
| ToObject called before ToPropertyKey | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Error has cause | サポート対象 | サポート対象外 |
| Error.prototype lacks cause | サポート対象 | サポート対象外 |
| EvalError has cause | サポート対象 | サポート対象外 |
| EvalError.prototype lacks cause | サポート対象 | サポート対象外 |
| RangeError has cause | サポート対象 | サポート対象外 |
| RangeError.prototype lacks cause | サポート対象 | サポート対象外 |
| ReferenceError has cause | サポート対象 | サポート対象外 |
| ReferenceError.prototype lacks cause | サポート対象 | サポート対象外 |
| SyntaxError has cause | サポート対象 | サポート対象外 |
| SyntaxError.prototype lacks cause | サポート対象 | サポート対象外 |
| TypeError has cause | サポート対象 | サポート対象外 |
| TypeError.prototype lacks cause | サポート対象 | サポート対象外 |
| URIError has cause | サポート対象 | サポート対象外 |
| URIError.prototype lacks cause | サポート対象 | サポート対象外 |
| AggregateError has cause | サポート対象 | サポート対象外 |
| AggregateError.prototype lacks cause | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| constructor supports it | サポート対象外 | サポート対象外 |
| shows up in flags | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Ergonomic brand checks for private fields | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Class static initialization blocks | サポート対象 | サポート対象外 |
ECMAScript 2021 (ES12) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| fulfillment | 許可されていない | 許可されていない |
| AggregateError | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| WeakRef minimal support | 許可されていない | 許可されていない |
| FinalizationRegistry minimal support | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| ||= basic support | サポート対象 | サポート対象外 |
| ||= short-circuiting behavior | サポート対象 | サポート対象外 |
| ||= setter not unnecessarily invoked | サポート対象 | サポート対象外 |
| &&= basic support | サポート対象 | サポート対象外 |
| &&= short-circuiting behavior | サポート対象 | サポート対象外 |
| &&= setter not unnecessarily invoked | サポート対象 | サポート対象外 |
| ??= basic support | サポート対象 | サポート対象外 |
| ??= short-circuiting behavior | サポート対象 | サポート対象外 |
| ??= setter not unnecessarily invoked | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| numeric separators | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| String.prototype.replaceAll | サポート対象 | サポート対象 |
ECMAScript 2020 (ES11) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象 | サポート対象外 |
| throws on non-global regex | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象外 | サポート対象外 |
| constructor | サポート対象外 | サポート対象外 |
| BigInt.asUintN | サポート対象外 | サポート対象外 |
| BigInt.asIntN | サポート対象外 | サポート対象外 |
| BigInt64Array | サポート対象外 | サポート対象外 |
| BigUint64Array | サポート対象外 | サポート対象外 |
| DataView.prototype.getBigInt64 | サポート対象外 | サポート対象外 |
| DataView.prototype.getBigUint64 | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| "globalThis" global property is global object | 許可されていない | 許可されていない |
| "globalThis" global property has correct property descriptor | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| optional property access | サポート対象 | サポート対象外 |
| optional bracket access | サポート対象 | サポート対象外 |
| optional method call | サポート対象 | サポート対象外 |
| optional function call | サポート対象 | サポート対象外 |
| spread parameters after optional chaining | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Promise.allSettled | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| nullish coalescing operator (??) | サポート対象 | サポート対象外 |
ECMAScript 2019 (ES10) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic | サポート対象 | サポート対象外 |
| empty description | サポート対象 | サポート対象外 |
| undefined description | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| String.prototype.trimLeft | サポート対象 | サポート対象 |
| String.prototype.trimRight | サポート対象 | サポート対象 |
| String.prototype.trimStart | サポート対象 | サポート対象外 |
| String.prototype.trimEnd | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Array.prototype.flat | サポート対象 | サポート対象外 |
| Array.prototype.flatMap | サポート対象 | サポート対象外 |
| flat and flatMap in Array.prototype[@@unscopables] | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Object.fromEntries | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic | 許可されていない | 許可されていない |
| await | 許可されていない | 許可されていない |
| yield | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| functions created with the Function constructor | 許可されていない | 許可されていない |
| arrows | 許可されていない | 許可されていない |
| [native code] | 許可されていない | 許可されていない |
| class expression with implicit constructor | 許可されていない | 許可されていない |
| class expression with explicit constructor | 許可されていない | 許可されていない |
| unicode escape sequences in identifiers | 許可されていない | 許可されていない |
| methods and computed property names | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Line separator can appear in string literals | 許可されていない | 許可されていない |
| Paragraph separator can appear in string literals | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Well-formed JSON.stringify | 許可されていない | 許可されていない |
ECMAScript 2018 (ES9) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| object rest properties | サポート対象 | サポート対象外 |
| object spread properties | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic support | 許可されていない | 許可されていない |
| don't change resolution value | 許可されていない | 許可されていない |
| change rejection value | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| async generators | 許可されていない | 許可されていない |
| for-await-of loops | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| s (dotAll) flag for regular expressions | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| RegExp named capture groups | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| RegExp Lookbehind Assertions | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| RegExp Unicode Property Escapes | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| template literal revision | 許可されていない | 許可されていない |
ECMAScript 2017 (ES8) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Object.value | サポート対象 | サポート対象外 |
| Object.entries | サポート対象 | サポート対象外 |
| Object.getOwnPropertyDescriptors | サポート対象 | サポート対象外 |
| Object.getOwnPropertyDescriptors doesn't provide undefined descriptors | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| String.prototype.padStart | サポート対象 | サポート対象外 |
| String.prototype.padEnd | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| in parameter lists | サポート対象 | サポート対象外 |
| in argument lists | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| return | 許可されていない | 許可されていない |
| throw | 許可されていない | 許可されていない |
| no line break between async and function | 許可されていない | 許可されていない |
| no "prototype" property | 許可されていない | 許可されていない |
| await | 許可されていない | 許可されていない |
| await, rejection | 許可されていない | 許可されていない |
| must await a value | 許可されていない | 許可されていない |
| can await non-Promise values | 許可されていない | 許可されていない |
| cannot await in parameters | 許可されていない | 許可されていない |
| async methods, object literals | 許可されていない | 許可されていない |
| async methods, classes | 許可されていない | 許可されていない |
| async arrow functions in methods, classes | 許可されていない | 許可されていない |
| async arrow functions | 許可されていない | 許可されていない |
| correct prototype chain | 許可されていない | 許可されていない |
| async function prototype, Symbol.toStringTag | 許可されていない | 許可されていない |
| async function constructor | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| SharedArrayBuffer | 許可されていない | 許可されていない |
| SharedArrayBuffer[Symbol.species] | 許可されていない | 許可されていない |
| SharedArrayBuffer.prototype.byteLength | 許可されていない | 許可されていない |
| SharedArrayBuffer.prototype.slice | 許可されていない | 許可されていない |
| SharedArrayBuffer.prototype[Symbol.toStringTag] | 許可されていない | 許可されていない |
| Atomics.add | 許可されていない | 許可されていない |
| Atomics.and | 許可されていない | 許可されていない |
| Atomics.compareExchange | 許可されていない | 許可されていない |
| Atomics.exchange | 許可されていない | 許可されていない |
| Atomics.wait | 許可されていない | 許可されていない |
| Atomics.wake | 許可されていない | 許可されていない |
| Atomics.isLockFree | 許可されていない | 許可されていない |
| Atomics.load | 許可されていない | 許可されていない |
| Atomics.or | 許可されていない | 許可されていない |
| Atomics.store | 許可されていない | 許可されていない |
| Atomics.sub | 許可されていない | 許可されていない |
| Atomics.xor | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| __defineGetter__ | 許可されていない | 許可されていない |
| __defineGetter__, symbols | 許可されていない | 許可されていない |
| __defineGetter__, ToObject(this) | 許可されていない | 許可されていない |
| __defineSetter__ | 許可されていない | 許可されていない |
| __defineSetter__, symbols | 許可されていない | 許可されていない |
| __defineSetter__, ToObject(this) | 許可されていない | 許可されていない |
| __lookupGetter__ | 許可されていない | 許可されていない |
| __lookupGetter__, prototype chain | 許可されていない | 許可されていない |
| __lookupGetter__, symbols | 許可されていない | 許可されていない |
| __lookupGetter__, ToObject(this) | 許可されていない | 許可されていない |
| __lookupGetter__, data properties can shadow accessors | 許可されていない | 許可されていない |
| __lookupSetter__ | 許可されていない | 許可されていない |
| __lookupSetter__, prototype chain | 許可されていない | 許可されていない |
| __lookupSetter__, symbols | 許可されていない | 許可されていない |
| __lookupSetter__, ToObject(this) | 許可されていない | 許可されていない |
| __lookupSetter__, data properties can shadow accessors | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| __defineGetter__ | 許可されていない | 許可されていない |
| __defineSetter__ | 許可されていない | 許可されていない |
| __lookupGetter__ | 許可されていない | 許可されていない |
| __lookupSetter__ | 許可されていない | 許可されていない |
ECMAScript 2016 (ES7) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic support | サポート対象 | サポート対象外 |
| assignment | サポート対象 | サポート対象外 |
| early syntax error for unary negation without parentheses | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Array.prototype.include | サポート対象 | サポート対象外 |
| Array.prototype.includes is generic | サポート対象外 | サポート対象外 |
| %TypedArray%.prototype.includes | 許可されていない | 許可されていない |
ECMAScript 2015 (ES6) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| direct recursion | 許可されていない | 許可されていない |
| mutual recursion | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象 | サポート対象外 |
| explicit undefined defers to the default | サポート対象 | サポート対象外 |
| defaults can refer to previous parameters | サポート対象 | サポート対象外 |
| arguments object interaction | サポート対象 | サポート対象外 |
| temporal dead zone | 許可されていない | 許可されていない |
| separate scope | サポート対象 | サポート対象外 |
| new Function() support | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象 | サポート対象外 |
| function 'length' property | サポート対象 | サポート対象外 |
| arguments object interaction | サポート対象外 | サポート対象外 |
| can't be used in setters | 許可されていない | 許可されていない |
| new Function() support | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| with arrays, in function calls | サポート対象 | サポート対象外 |
| with arrays, in array literals | サポート対象 | サポート対象外 |
| with sparse arrays, in function calls | サポート対象 | サポート対象外 |
| with sparse arrays, in array literals | サポート対象 | サポート対象外 |
| with strings, in function calls | サポート対象 | サポート対象外 |
| with strings, in array literals | サポート対象 | サポート対象外 |
| with astral plane strings, in function calls | サポート対象 | サポート対象外 |
| with astral plane strings, in array literals | サポート対象 | サポート対象外 |
| with generator instances, in calls | 許可されていない | 許可されていない |
| with generator instances, in arrays | 許可されていない | 許可されていない |
| with generic iterables, in calls | サポート対象 | サポート対象外 |
| with generic iterables, in arrays | サポート対象 | サポート対象外 |
| with instances of iterables, in calls | サポート対象 | サポート対象外 |
| with instances of iterables, in arrays | サポート対象 | サポート対象外 |
| spreading non-iterables is a runtime error | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| computed properties | サポート対象 | サポート対象外 |
| shorthand properties | サポート対象 | サポート対象外 |
| shorthand methods | サポート対象 | サポート対象外 |
| string-keyed shorthand methods | サポート対象 | サポート対象外 |
| computed shorthand methods | サポート対象 | サポート対象外 |
| computed accessors | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| with arrays | サポート対象 | サポート対象外 |
| with sparse arrays | サポート対象 | サポート対象外 |
| with strings | サポート対象 | サポート対象外 |
| with astral plane strings | サポート対象 | サポート対象外 |
| with generator instances | 許可されていない | 許可されていない |
| with generic iterables | サポート対象 | サポート対象外 |
| with instances of generic iterables | サポート対象 | サポート対象外 |
| iterator closing, break | サポート対象 | サポート対象外 |
| iterator closing, throw | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| octal literals | サポート対象 | サポート対象外 |
| binary literals | サポート対象 | サポート対象外 |
| octal supported by Number() | サポート対象外 | サポート対象外 |
| binary supported by Number() | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象 | サポート対象外 |
| toString conversion | サポート対象 | サポート対象外 |
| tagged template literals | サポート対象 | サポート対象外 |
| passed array is frozen | サポート対象 | サポート対象外 |
| line break normalization | 許可されていない | 許可されていない |
| TemplateStrings call site caching | サポート対象 | サポート対象外 |
| TemplateStrings permanent caching | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| "y" flag | サポート対象 | サポート対象外 |
| "y" flag, lastIndex | サポート対象 | サポート対象外 |
| "u" flag | サポート対象外 | サポート対象外 |
| "u" flag, non-BMP Unicode characters | サポート対象外 | サポート対象外 |
| "u" flag, Unicode code point escapes | サポート対象外 | サポート対象外 |
| "u" flag, case folding | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| with arrays | サポート対象 | サポート対象外 |
| with sparse arrays | サポート対象 | サポート対象外 |
| with strings | サポート対象 | サポート対象外 |
| with astral plane strings | サポート対象 | サポート対象外 |
| with generator instances | 許可されていない | 許可されていない |
| with generic iterables | サポート対象 | サポート対象外 |
| with instances of generic iterables | サポート対象 | サポート対象外 |
| iterator closing | サポート対象 | サポート対象外 |
| trailing commas in iterable patterns | サポート対象 | サポート対象外 |
| with objects | サポート対象 | サポート対象外 |
| object destructuring with primitives | サポート対象 | サポート対象外 |
| trailing commas in object patterns | サポート対象 | サポート対象外 |
| throws on null and undefined | サポート対象 | サポート対象外 |
| computed properties | サポート対象 | サポート対象外 |
| multiples in a single var statement | サポート対象 | サポート対象外 |
| nested | サポート対象 | サポート対象外 |
| in for-in loop heads | サポート対象 | サポート対象外 |
| in for-of loop heads | サポート対象 | サポート対象外 |
| in catch heads | サポート対象 | サポート対象外 |
| rest | サポート対象 | サポート対象外 |
| defaults | サポート対象 | サポート対象外 |
| defaults, let temporal dead zone | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| with arrays | サポート対象 | サポート対象外 |
| with sparse arrays | サポート対象 | サポート対象外 |
| with strings | サポート対象 | サポート対象外 |
| with astral plane strings | サポート対象 | サポート対象外 |
| with generator instances | 許可されていない | 許可されていない |
| with generic iterables | サポート対象 | サポート対象外 |
| with instances of generic iterables | サポート対象 | サポート対象外 |
| iterator closing | サポート対象 | サポート対象外 |
| iterable destructuring expression | サポート対象 | サポート対象外 |
| chained iterable destructuring | サポート対象 | サポート対象外 |
| trailing commas in iterable patterns | サポート対象 | サポート対象外 |
| with objects | サポート対象 | サポート対象外 |
| object destructuring with primitives | サポート対象 | サポート対象外 |
| trailing commas in object patterns | サポート対象 | サポート対象外 |
| object destructuring expression | サポート対象 | サポート対象外 |
| parenthesized left-hand-side is a syntax error | 許可されていない | 許可されていない |
| chained object destructuring | サポート対象 | サポート対象外 |
| throws on null and undefined | サポート対象 | サポート対象外 |
| computed properties | サポート対象 | サポート対象外 |
| nested | サポート対象 | サポート対象外 |
| rest | サポート対象 | サポート対象外 |
| nested rest | サポート対象 | サポート対象外 |
| empty patterns | サポート対象 | サポート対象外 |
| defaults | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| with arrays | サポート対象 | サポート対象外 |
| with sparse arrays | サポート対象 | サポート対象外 |
| with strings | サポート対象 | サポート対象外 |
| with astral plane strings | サポート対象 | サポート対象外 |
| with generator instances | 許可されていない | 許可されていない |
| with generic iterables | サポート対象 | サポート対象外 |
| with instances of generic iterables | サポート対象 | サポート対象外 |
| iterator closing | サポート対象 | サポート対象外 |
| trailing commas in iterable patterns | サポート対象 | サポート対象外 |
| with objects | サポート対象 | サポート対象外 |
| object destructuring with primitives | サポート対象 | サポート対象外 |
| trailing commas in object patterns | サポート対象 | サポート対象外 |
| throws on null and undefined | サポート対象 | サポート対象外 |
| computed properties | サポート対象 | サポート対象外 |
| nested | サポート対象 | サポート対象外 |
| 'arguments' interaction | サポート対象 | サポート対象外 |
| new Function() support | 許可されていない | 許可されていない |
| in parameters, function 'length' property | サポート対象 | サポート対象外 |
| rest | サポート対象 | サポート対象外 |
| empty patterns | サポート対象 | サポート対象外 |
| defaults | サポート対象 | サポート対象外 |
| defaults, separate scope | サポート対象 | サポート対象外 |
| defaults, new Function() support | 許可されていない | 許可されていない |
| aliased defaults, arrow function | サポート対象 | サポート対象外 |
| shorthand defaults, arrow function | サポート対象 | サポート対象外 |
| duplicate identifier | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| in strings | サポート対象 | サポート対象外 |
| in identifiers | サポート対象外 | サポート対象外 |
| in property key definitions | サポート対象外 | サポート対象外 |
| in property key accesses | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| in constructors | サポート対象外 | サポート対象外 |
| assignment is an early error | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic support | サポート対象 | サポート対象 |
| is block-scoped | サポート対象 | サポート対象外 |
| scope shadow resolution | サポート対象 | サポート対象外 |
| cannot be in statements | 許可されていない | 許可されていない |
| redefining a const is an error | 許可されていない | 許可されていない |
| for loop statement scope | サポート対象 | サポート対象外 |
| for-in loop iteration scope | サポート対象 | サポート対象外 |
| for-of loop iteration scope | サポート対象 | サポート対象外 |
| temporal dead zone | サポート対象外 | サポート対象外 |
| basic support (strict mode) | サポート対象 | サポート対象 |
| is block-scoped (strict mode) | サポート対象 | サポート対象外 |
| scope shadow resolution (strict mode) | サポート対象 | サポート対象外 |
| cannot be in statements (strict mode) | 許可されていない | 許可されていない |
| redefining a const (strict mode) | 許可されていない | 許可されていない |
| for loop statement scope (strict mode) | サポート対象 | サポート対象外 |
| for-in loop iteration scope (strict mode) | サポート対象 | サポート対象外 |
| for-of loop iteration scope (strict mode) | サポート対象 | サポート対象外 |
| temporal dead zone (strict mode) | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic support | サポート対象 | サポート対象外 |
| is block-scoped | サポート対象 | サポート対象外 |
| scope shadow resolution | サポート対象 | サポート対象外 |
| cannot be in statements | 許可されていない | 許可されていない |
| for loop statement scope | サポート対象 | サポート対象外 |
| temporal dead zone | サポート対象外 | サポート対象外 |
| for/for-in loop iteration scope | サポート対象 | サポート対象外 |
| for-in loop binding shadowing parameter | 許可されていない | 許可されていない |
| basic support (strict mode) | サポート対象 | サポート対象外 |
| is block-scoped (strict mode) | サポート対象 | サポート対象外 |
| scope shadow resolution (strict mode) | サポート対象 | サポート対象外 |
| cannot be in statements (strict mode) | 許可されていない | 許可されていない |
| for loop statement scope (strict mode) | サポート対象 | サポート対象外 |
| temporal dead zone (strict mode) | サポート対象外 | サポート対象外 |
| for/for-in loop iteration scope (strict mode) | サポート対象 | サポート対象外 |
| for-in loop binding shadowing parameter (strict mode) | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| block-level function declaration | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| 0 parameters | サポート対象 | サポート対象外 |
| 1 parameter, no brackets | サポート対象 | サポート対象外 |
| multiple parameters | サポート対象 | サポート対象外 |
| lexical "this" binding | サポート対象 | サポート対象外 |
| "this" unchanged by call or apply | サポート対象 | サポート対象外 |
| can't be bound, can be curried | サポート対象 | サポート対象外 |
| lexical "arguments" binding | サポート対象 | サポート対象外 |
no line break between parameters and => |
許可されていない | 許可されていない |
| correct precedence | 許可されていない | 許可されていない |
| no "prototype" property | サポート対象外 | サポート対象外 |
| lexical "super" binding in constructors | サポート対象 | サポート対象外 |
| lexical "super" binding in methods | サポート対象 | サポート対象外 |
| lexical "new.target" binding | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| class statement | サポート対象 | サポート対象外 |
| is block-scoped | サポート対象 | サポート対象外 |
| class expression | サポート対象 | サポート対象外 |
| anonymous class | サポート対象 | サポート対象外 |
| constructor | サポート対象 | サポート対象外 |
| prototype methods | サポート対象 | サポート対象外 |
| string-keyed methods | サポート対象 | サポート対象外 |
| computed prototype methods | サポート対象 | サポート対象外 |
| optional semicolons | サポート対象 | サポート対象外 |
| static methods | サポート対象 | サポート対象外 |
| computed static methods | サポート対象 | サポート対象外 |
| accessor properties | サポート対象 | サポート対象外 |
| computed accessor properties | サポート対象 | サポート対象外 |
| static accessor properties | サポート対象 | サポート対象外 |
| computed static accessor properties | サポート対象 | サポート対象外 |
| class name is lexically scoped | サポート対象 | サポート対象外 |
| computed names, temporal dead zone | サポート対象外 | サポート対象外 |
| methods aren't enumerable | サポート対象 | サポート対象外 |
| implicit strict mode | サポート対象外 | サポート対象外 |
| constructor requires new | サポート対象 | サポート対象外 |
| 拡張 | サポート対象 | サポート対象外 |
| extends expressions | サポート対象 | サポート対象外 |
| extends null | サポート対象 | サポート対象外 |
| new.target | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| statement in constructors | サポート対象 | サポート対象外 |
| expression in constructors | サポート対象 | サポート対象外 |
| in methods, property access | サポート対象 | サポート対象外 |
| in methods, method calls | サポート対象 | サポート対象外 |
| method calls use correct "this" binding | サポート対象 | サポート対象外 |
| constructor calls use correct "new.target" binding | サポート対象 | サポート対象外 |
| is statically bound | サポート対象 | サポート対象外 |
| super() invokes the correct constructor | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | 許可されていない | 許可されていない |
| generator function expressions | 許可されていない | 許可されていない |
| correct "this" binding | 許可されていない | 許可されていない |
| can't use "this" with new | 許可されていない | 許可されていない |
| sending | 許可されていない | 許可されていない |
| %GeneratorPrototype% | 許可されていない | 許可されていない |
| %GeneratorPrototype% prototype chain | 許可されていない | 許可されていない |
| %GeneratorPrototype%.constructor | 許可されていない | 許可されていない |
| %GeneratorPrototype%.throw | 許可されていない | 許可されていない |
| %GeneratorPrototype%.return | 許可されていない | 許可されていない |
| yield operator precedence | 許可されていない | 許可されていない |
| yield *, arrays | 許可されていない | 許可されていない |
| yield *, sparse arrays | 許可されていない | 許可されていない |
| yield *, strings | 許可されていない | 許可されていない |
| yield *, astral plane strings | 許可されていない | 許可されていない |
| yield *, generator instances | 許可されていない | 許可されていない |
| yield *, generic iterables | 許可されていない | 許可されていない |
| yield *, instances of iterables | 許可されていない | 許可されていない |
| yield * on non-iterables is a runtime error | 許可されていない | 許可されていない |
| yield *, iterator closing | 許可されていない | 許可されていない |
| yield *, iterator closing via throw() | 許可されていない | 許可されていない |
| shorthand generator methods | 許可されていない | 許可されていない |
| string-keyed shorthand generator methods | 許可されていない | 許可されていない |
| computed shorthand generators | 許可されていない | 許可されていない |
| shorthand generator methods, classes | 許可されていない | 許可されていない |
| computed shorthand generators, classes | 許可されていない | 許可されていない |
| shorthand generators can't be constructors | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Int8Array | 許可されていない | 許可されていない |
| Uint8Array | 許可されていない | 許可されていない |
| Uint8ClampedArray | 許可されていない | 許可されていない |
| Int16Array | 許可されていない | 許可されていない |
| Uint16Array | 許可されていない | 許可されていない |
| Int32Array | 許可されていない | 許可されていない |
| Uint32Array | 許可されていない | 許可されていない |
| Float32Array | 許可されていない | 許可されていない |
| Float64Array | 許可されていない | 許可されていない |
| DataView (Int8) | 許可されていない | 許可されていない |
| DataView (Uint8) | 許可されていない | 許可されていない |
| DataView (Int16) | 許可されていない | 許可されていない |
| DataView (Uint16) | 許可されていない | 許可されていない |
| DataView (Int32) | 許可されていない | 許可されていない |
| DataView (Uint32) | 許可されていない | 許可されていない |
| DataView (Float32) | 許可されていない | 許可されていない |
| DataView (Float64) | 許可されていない | 許可されていない |
| ArrayBuffer[Symbol.species] | 許可されていない | 許可されていない |
| constructors require new | 許可されていない | 許可されていない |
| constructors accept generic iterables | 許可されていない | 許可されていない |
| correct prototype chains | 許可されていない | 許可されていない |
| %TypedArray%.from | 許可されていない | 許可されていない |
| %TypedArray%.of | 許可されていない | 許可されていない |
| %TypedArray%.prototype.subarray | 許可されていない | 許可されていない |
| %TypedArray%.prototype.join | 許可されていない | 許可されていない |
| %TypedArray%.prototype.indexOf | 許可されていない | 許可されていない |
| %TypedArray%.prototype.lastIndexOf | 許可されていない | 許可されていない |
| %TypedArray%.prototype.slice | 許可されていない | 許可されていない |
| %TypedArray%.prototype.every | 許可されていない | 許可されていない |
| %TypedArray%.prototype.filter | 許可されていない | 許可されていない |
| %TypedArray%.prototype.forEach | 許可されていない | 許可されていない |
| %TypedArray%.prototype.map | 許可されていない | 許可されていない |
| %TypedArray%.prototype.reduce | 許可されていない | 許可されていない |
| %TypedArray%.prototype.reduceRight | 許可されていない | 許可されていない |
| %TypedArray%.prototype.reverse | 許可されていない | 許可されていない |
| %TypedArray%.prototype.some | 許可されていない | 許可されていない |
| %TypedArray%.prototype.sort | 許可されていない | 許可されていない |
| %TypedArray%.prototype.copyWithin | 許可されていない | 許可されていない |
| %TypedArray%.prototype.find | 許可されていない | 許可されていない |
| %TypedArray%.prototype.findIndex | 許可されていない | 許可されていない |
| %TypedArray%.prototype.fill | 許可されていない | 許可されていない |
| %TypedArray%.prototype.keys | 許可されていない | 許可されていない |
| %TypedArray%.prototype.value | 許可されていない | 許可されていない |
| %TypedArray%.prototype.entries | 許可されていない | 許可されていない |
| %TypedArray%.prototype[Symbol.iterator] | 許可されていない | 許可されていない |
| %TypedArray%[Symbol.species] | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象 | サポート対象外 |
| constructor arguments | サポート対象 | サポート対象外 |
| constructor requires new | サポート対象 | サポート対象外 |
| constructor accepts null | サポート対象 | サポート対象外 |
| constructor invokes set | サポート対象 | サポート対象外 |
| iterator closing | サポート対象 | サポート対象外 |
| Map.prototype.set returns this | サポート対象 | サポート対象外 |
| -0 key converts to +0 | サポート対象 | サポート対象外 |
| Map.prototype.size | サポート対象 | サポート対象外 |
| Map.prototype.delete | サポート対象 | サポート対象外 |
| Map.prototype.clear | サポート対象 | サポート対象外 |
| Map.prototype.forEach | サポート対象 | サポート対象外 |
| Map.prototype.keys | サポート対象 | サポート対象外 |
| Map.prototype.value | サポート対象 | サポート対象外 |
| Map.prototype.entries | サポート対象 | サポート対象外 |
| Map.prototype[Symbol.iterator] | サポート対象 | サポート対象外 |
| Map.prototype isn't an instance | サポート対象 | サポート対象外 |
| Map iterator prototype chain | サポート対象 | サポート対象外 |
| Map[Symbol.species] | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象 | サポート対象外 |
| constructor arguments | サポート対象 | サポート対象外 |
| constructor requires new | サポート対象 | サポート対象外 |
| constructor accepts null | サポート対象 | サポート対象外 |
| constructor invokes add | サポート対象 | サポート対象外 |
| iterator closing | サポート対象 | サポート対象外 |
| Set.prototype.add returns this | サポート対象 | サポート対象外 |
| -0 key converts to +0 | サポート対象 | サポート対象外 |
| Set.prototype.size | サポート対象 | サポート対象外 |
| Set.prototype.delete | サポート対象 | サポート対象外 |
| Set.prototype.clear | サポート対象 | サポート対象外 |
| Set.prototype.forEach | サポート対象 | サポート対象外 |
| Set.prototype.keys | サポート対象 | サポート対象外 |
| Set.prototype.values | サポート対象 | サポート対象外 |
| Set.prototype.entries | サポート対象 | サポート対象外 |
| Set.prototype[Symbol.iterator] | サポート対象 | サポート対象外 |
| Set.prototype isn't an instance | サポート対象 | サポート対象外 |
| Set iterator prototype chain | サポート対象 | サポート対象外 |
| Set[Symbol.species] | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | 許可されていない | 許可されていない |
| constructor arguments | 許可されていない | 許可されていない |
| constructor requires new | 許可されていない | 許可されていない |
| constructor accepts null | 許可されていない | 許可されていない |
| constructor invokes set | 許可されていない | 許可されていない |
| frozen objects as keys | 許可されていない | 許可されていない |
| iterator closing | 許可されていない | 許可されていない |
| WeakMap.prototype.set returns this | 許可されていない | 許可されていない |
| WeakMap.prototype.delete | 許可されていない | 許可されていない |
| no WeakMap.prototype.clear method | 許可されていない | 許可されていない |
| .has, .get and .delete methods accept primitives | 許可されていない | 許可されていない |
| WeakMap.prototype isn't an instance | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | 許可されていない | 許可されていない |
| constructor arguments | 許可されていない | 許可されていない |
| constructor requires new | 許可されていない | 許可されていない |
| constructor accepts null | 許可されていない | 許可されていない |
| constructor invokes add | 許可されていない | 許可されていない |
| iterator closing | 許可されていない | 許可されていない |
| WeakSet.prototype.add returns this | 許可されていない | 許可されていない |
| WeakSet.prototype.delete | 許可されていない | 許可されていない |
| no WeakSet.prototype.clear method | 許可されていない | 許可されていない |
| .has and .delete methods accept primitives | 許可されていない | 許可されていない |
| WeakSet.prototype isn't an instance | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| constructor requires new | 許可されていない | 許可されていない |
| no "prototype" property | 許可されていない | 許可されていない |
| "get" handler | 許可されていない | 許可されていない |
| "get" handler, instances of proxies | 許可されていない | 許可されていない |
| "get" handler invariants | 許可されていない | 許可されていない |
| "set" handler | 許可されていない | 許可されていない |
| "set" handler, instances of proxies | 許可されていない | 許可されていない |
| "set" handler invariants | 許可されていない | 許可されていない |
| "has" handler | 許可されていない | 許可されていない |
| "has" handler, instances of proxies | 許可されていない | 許可されていない |
| "has" handler invariants | 許可されていない | 許可されていない |
| "deleteProperty" handler | 許可されていない | 許可されていない |
| "deleteProperty" handler invariant | 許可されていない | 許可されていない |
| "getOwnPropertyDescriptor" handler | 許可されていない | 許可されていない |
| "getOwnPropertyDescriptor" handler invariants | 許可されていない | 許可されていない |
| "defineProperty" handler | 許可されていない | 許可されていない |
| "defineProperty" handler invariants | 許可されていない | 許可されていない |
| "getPrototypeOf" handler | 許可されていない | 許可されていない |
| "getPrototypeOf" handler invariant | 許可されていない | 許可されていない |
| "setPrototypeOf" handler | 許可されていない | 許可されていない |
| "setPrototypeOf" handler invariant | 許可されていない | 許可されていない |
| "isExtensible" handler | 許可されていない | 許可されていない |
| "isExtensible" handler invariant | 許可されていない | 許可されていない |
| "preventExtensions" handler | 許可されていない | 許可されていない |
| "preventExtensions" handler invariant | 許可されていない | 許可されていない |
| "ownKeys" handler | 許可されていない | 許可されていない |
| "ownKeys" handler invariant | 許可されていない | 許可されていない |
| "apply" handler | 許可されていない | 許可されていない |
| "apply" handler invariant | 許可されていない | 許可されていない |
| "construct" handler | 許可されていない | 許可されていない |
| "construct" handler invariants | 許可されていない | 許可されていない |
| Proxy.revocable | 許可されていない | 許可されていない |
| Array.isArray support | 許可されていない | 許可されていない |
| JSON.stringify support | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Reflect.get | 許可されていない | 許可されていない |
| Reflect.set | 許可されていない | 許可されていない |
| Reflect.has | 許可されていない | 許可されていない |
| Reflect.deleteProperty | 許可されていない | 許可されていない |
| Reflect.getOwnPropertyDescriptor | 許可されていない | 許可されていない |
| Reflect.defineProperty | 許可されていない | 許可されていない |
| Reflect.getPrototypeOf | 許可されていない | 許可されていない |
| Reflect.setPrototypeOf | 許可されていない | 許可されていない |
| Reflect.isExtensible | 許可されていない | 許可されていない |
| Reflect.preventExtensions | 許可されていない | 許可されていない |
| Reflect.ownKeys, string keys | 許可されていない | 許可されていない |
| Reflect.ownKeys, symbol keys | 許可されていない | 許可されていない |
| Reflect.apply | 許可されていない | 許可されていない |
| Reflect.construct | 許可されていない | 許可されていない |
| Reflect.construct sets new.target meta-property | 許可されていない | 許可されていない |
| Reflect.construct creates instances from third argument | 許可されていない | 許可されていない |
| Reflect.construct, Array subclassing | 許可されていない | 許可されていない |
| Reflect.construct, RegExp subclassing | 許可されていない | 許可されていない |
| Reflect.construct, Function subclassing | 許可されていない | 許可されていない |
| Reflect.construct, Promise subclassing | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | 許可されていない | 許可されていない |
| constructor requires new | 許可されていない | 許可されていない |
| Promise.prototype isn't an instance | 許可されていない | 許可されていない |
| Promise.all | 許可されていない | 許可されていない |
| Promise.all, generic iterables | 許可されていない | 許可されていない |
| Promise.race | 許可されていない | 許可されていない |
| Promise.race, generic iterables | 許可されていない | 許可されていない |
| Promise[Symbol.species] | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | サポート対象 | サポート対象外 |
| typeof support | サポート対象 | サポート対象外 |
| symbol keys are hidden to pre-ES6 code | サポート対象 | サポート対象外 |
| Object.defineProperty support | サポート対象 | サポート対象外 |
| symbols inherit from Symbol.prototype | サポート対象 | サポート対象外 |
| cannot coerce to string or number | サポート対象外 | サポート対象外 |
| can convert with String() | サポート対象外 | サポート対象外 |
| new Symbol() throws | サポート対象 | サポート対象外 |
| Object(symbol) | サポート対象外 | サポート対象外 |
| JSON.stringify ignores symbol primitives | サポート対象 | サポート対象外 |
| JSON.stringify ignores symbol objects | サポート対象外 | サポート対象外 |
| global symbol registry | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Symbol.hasInstance | 許可されていない | 許可されていない |
| Symbol.isConcatSpreadable | 許可されていない | 許可されていない |
| Symbol.iterator, existence | 許可されていない | 許可されていない |
| Symbol.iterator, arguments object | 許可されていない | 許可されていない |
| Symbol.species, existence | 許可されていない | 許可されていない |
| Symbol.species, Array.prototype.concat | 許可されていない | 許可されていない |
| Symbol.species, Array.prototype.filter | 許可されていない | 許可されていない |
| Symbol.species, Array.prototype.map | 許可されていない | 許可されていない |
| Symbol.species, Array.prototype.slice | 許可されていない | 許可されていない |
| Symbol.species, Array.prototype.splice | 許可されていない | 許可されていない |
| Symbol.species, RegExp.prototype[Symbol.split] | 許可されていない | 許可されていない |
| Symbol.species, Promise.prototype.then | 許可されていない | 許可されていない |
| Symbol.replace | 許可されていない | 許可されていない |
| Symbol.search | 許可されていない | 許可されていない |
| Symbol.split | 許可されていない | 許可されていない |
| Symbol.match | 許可されていない | 許可されていない |
| Symbol.match, RegExp constructor | 許可されていない | 許可されていない |
| Symbol.match, String.prototype.startsWith | 許可されていない | 許可されていない |
| Symbol.match, String.prototype.endsWith | 許可されていない | 許可されていない |
| Symbol.match, String.prototype.includes | 許可されていない | 許可されていない |
| Symbol.toPrimitive | 許可されていない | 許可されていない |
| Symbol.toStringTag | 許可されていない | 許可されていない |
| Symbol.toStringTag affects existing built-ins | 許可されていない | 許可されていない |
| Symbol.toStringTag, new built-ins | 許可されていない | 許可されていない |
| Symbol.toStringTag, misc. built-ins | 許可されていない | 許可されていない |
| Symbol.unscopables | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Object.assign | サポート対象 | サポート対象外 |
| Object.is | サポート対象 | サポート対象外 |
| Object.getOwnPropertySymbols | サポート対象 | サポート対象外 |
| Object.setPrototypeOf | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| function statements | サポート対象 | サポート対象 |
| function expressions | サポート対象 | サポート対象 |
| new Function | サポート対象外 | サポート対象外 |
| bound functions | サポート対象外 | サポート対象外 |
| variables (function) | サポート対象 | サポート対象外 |
| object methods (function) | サポート対象 | サポート対象外 |
| accessor properties | サポート対象外 | サポート対象外 |
| shorthand methods | サポート対象 | サポート対象外 |
| shorthand methods (no lexical binding) | サポート対象 | サポート対象外 |
| symbol-keyed methods | サポート対象外 | サポート対象外 |
| class statements | サポート対象 | サポート対象外 |
| class expressions | サポート対象 | サポート対象外 |
| variables (class) | サポート対象 | サポート対象外 |
| object methods (class) | サポート対象外 | サポート対象外 |
| class prototype methods | サポート対象 | サポート対象外 |
| class static methods | サポート対象 | サポート対象外 |
| isn't writable, is configurable | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| String.raw | サポート対象 | サポート対象外 |
| String.fromCodePoint | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| String.prototype.codePointAt | サポート対象 | サポート対象 |
| String.prototype.normalize | サポート対象 | サポート対象 |
| String.prototype.repeat | サポート対象 | サポート対象 |
| String.prototype.startsWith | サポート対象 | サポート対象 |
| String.prototype.startsWith throws on RegExp | サポート対象外 | サポート対象外 |
| String.prototype.endsWith | サポート対象 | サポート対象 |
| String.prototype.endsWith throws on RegExp | サポート対象外 | サポート対象外 |
| String.prototype.includes | サポート対象 | サポート対象 |
| String.prototype[Symbol.iterator] | サポート対象 | サポート対象外 |
| String iterator prototype chain | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| RegExp.prototype.flag | サポート対象 | サポート対象外 |
| RegExp.prototype[Symbol.match] | サポート対象外 | サポート対象外 |
| RegExp.prototype[Symbol.replace] | サポート対象 | サポート対象外 |
| RegExp.prototype[Symbol.split] | サポート対象 | サポート対象外 |
| RegExp.prototype[Symbol.search] | サポート対象外 | サポート対象外 |
| RegExp[Symbol.species] | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Array.from, array-like objects | サポート対象 | サポート対象外 |
| Array.from, generator instances | 許可されていない | 許可されていない |
| Array.from, generic iterables | サポート対象 | サポート対象外 |
| Array.from, instances of generic iterables | サポート対象 | サポート対象外 |
| Array.from map function, array-like objects | サポート対象 | サポート対象外 |
| Array.from map function, generator instances | 許可されていない | 許可されていない |
| Array.from map function, generic iterables | サポート対象 | サポート対象外 |
| Array.from map function, instances of iterables | サポート対象 | サポート対象外 |
| Array.from, iterator closing | サポート対象 | サポート対象外 |
| Array.of | サポート対象 | サポート対象外 |
| Array[Symbol.species] | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Array.prototype.copyWithin | サポート対象 | サポート対象外 |
| Array.prototype.find | サポート対象 | サポート対象外 |
| Array.prototype.findIndex | サポート対象 | サポート対象外 |
| Array.prototype.fill | サポート対象 | サポート対象外 |
| Array.prototype.keys | サポート対象 | サポート対象外 |
| Array.prototype.value | サポート対象 | サポート対象外 |
| Array.prototype.entries | サポート対象 | サポート対象外 |
| Array.prototype[Symbol.iterator] | サポート対象 | サポート対象外 |
| Array iterator prototype chain | サポート対象 | サポート対象外 |
| Array.prototype[Symbol.unscopables] | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Number.isFinite | サポート対象 | サポート対象外 |
| Number.isInteger | サポート対象 | サポート対象外 |
| Number.isSafeInteger | サポート対象 | サポート対象外 |
| Number.isNaN | サポート対象 | サポート対象外 |
| Number.parseFloat | 許可されていない | 許可されていない |
| Number.parseInt | 許可されていない | 許可されていない |
| Number.EPSILON | サポート対象 | サポート対象外 |
| Number.MIN_SAFE_INTEGER | サポート対象 | サポート対象外 |
| Number.MAX_SAFE_INTEGER | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Math.clz32 | サポート対象 | サポート対象外 |
| Math.imul | サポート対象 | サポート対象外 |
| Math.sign | サポート対象 | サポート対象外 |
| Math.log10 | サポート対象 | サポート対象外 |
| Math.log2 | サポート対象 | サポート対象外 |
| Math.log1p | サポート対象 | サポート対象外 |
| Math.expm1 | サポート対象 | サポート対象外 |
| Math.cosh | サポート対象 | サポート対象外 |
| Math.sinh | サポート対象 | サポート対象外 |
| Math.tanh | サポート対象 | サポート対象外 |
| Math.acosh | サポート対象 | サポート対象外 |
| Math.asinh | サポート対象 | サポート対象外 |
| Math.atanh | サポート対象 | サポート対象外 |
| Math.trunc | サポート対象 | サポート対象外 |
| Math.fround | サポート対象 | サポート対象外 |
| Math.cbrt | サポート対象 | サポート対象外 |
| Math.hypot | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Date.prototype[Symbol.toPrimitive] | サポート対象 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| length property (accessing) | 許可されていない | 許可されていない |
| length property (setting) | 許可されていない | 許可されていない |
| correct prototype chain | 許可されていない | 許可されていない |
| Array.isArray support | 許可されていない | 許可されていない |
| Array.prototype.concat | 許可されていない | 許可されていない |
| Array.prototype.filter | 許可されていない | 許可されていない |
| Array.prototype.map | 許可されていない | 許可されていない |
| Array.prototype.slice | 許可されていない | 許可されていない |
| Array.prototype.splic | 許可されていない | 許可されていない |
| Array.from | 許可されていない | 許可されていない |
| Array.of | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | 許可されていない | 許可されていない |
| correct prototype chain | 許可されていない | 許可されていない |
| RegExp.prototype.exec | 許可されていない | 許可されていない |
| RegExp.prototype.test | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| can be called | 許可されていない | 許可されていない |
| correct prototype chain | 許可されていない | 許可されていない |
| can be used with "new" | 許可されていない | 許可されていない |
| Function.prototype.call | 許可されていない | 許可されていない |
| Function.prototype.apply | 許可されていない | 許可されていない |
| Function.prototype.bind | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | 許可されていない | 許可されていない |
| correct prototype chain | 許可されていない | 許可されていない |
| Promise.all | 許可されていない | 許可されていない |
| Promise.race | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Boolean is subclassable | 許可されていない | 許可されていない |
| Number is subclassable | 許可されていない | 許可されていない |
| String is subclassable | 許可されていない | 許可されていない |
| Error is subclassable | 許可されていない | 許可されていない |
| Map is subclassable | 許可されていない | 許可されていない |
| Set is subclassable | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functions | 許可されていない | 許可されていない |
| generator functions | 許可されていない | 許可されていない |
| arrow functions | 許可されていない | 許可されていない |
| classes | 許可されていない | 許可されていない |
| subclasses | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| ToPrimitive | 許可されていない | 許可されていない |
| CreateListFromArrayLike | 許可されていない | 許可されていない |
| instanceof operator | 許可されていない | 許可されていない |
| HasBinding | 許可されていない | 許可されていない |
| CreateDynamicFunction | 許可されていない | 許可されていない |
| ClassDefinitionEvaluation | 許可されていない | 許可されていない |
| IteratorComplete, IteratorValue | 許可されていない | 許可されていない |
| ToPropertyDescriptor | 許可されていない | 許可されていない |
| Object.assign | 許可されていない | 許可されていない |
| Object.defineProperties | 許可されていない | 許可されていない |
| Function.prototype.bind | 許可されていない | 許可されていない |
| Error.prototype.toString | 許可されていない | 許可されていない |
| String.raw | 許可されていない | 許可されていない |
| RegExp constructor | 許可されていない | 許可されていない |
| RegExp.prototype.flag | 許可されていない | 許可されていない |
| RegExp.prototype.test | 許可されていない | 許可されていない |
| RegExp.prototype.toString | 許可されていない | 許可されていない |
| RegExp.prototype[Symbol.match] | 許可されていない | 許可されていない |
| RegExp.prototype[Symbol.replace] | 許可されていない | 許可されていない |
| RegExp.prototype[Symbol.search] | 許可されていない | 許可されていない |
| RegExp.prototype[Symbol.split] | 許可されていない | 許可されていない |
| Array.from | 許可されていない | 許可されていない |
| Array.prototype.concat | 許可されていない | 許可されていない |
| Array.prototype iteration methods | 許可されていない | 許可されていない |
| Array.prototype.pop | 許可されていない | 許可されていない |
| Array.prototype.reverse | 許可されていない | 許可されていない |
| Array.prototype.shift | 許可されていない | 許可されていない |
| Array.prototype.splic | 許可されていない | 許可されていない |
| Array.prototype.toString | 許可されていない | 許可されていない |
| JSON.stringify | 許可されていない | 許可されていない |
| Promise resolve functions | 許可されていない | 許可されていない |
| String.prototype.match | 許可されていない | 許可されていない |
| String.prototype.replace | 許可されていない | 許可されていない |
| String.prototype.search | 許可されていない | 許可されていない |
| String.prototype.split | 許可されていない | 許可されていない |
| Date.prototype.toJSON | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Object.assign | 許可されていない | 許可されていない |
| Array.from | 許可されていない | 許可されていない |
| Array.of | 許可されていない | 許可されていない |
| Array.prototype.copyWithin | 許可されていない | 許可されていない |
| Array.prototype.fill | 許可されていない | 許可されていない |
| Array.prototype.pop | 許可されていない | 許可されていない |
| Array.prototype.push | 許可されていない | 許可されていない |
| Array.prototype.reverse | 許可されていない | 許可されていない |
| Array.prototype.shift | 許可されていない | 許可されていない |
| Array.prototype.splic | 許可されていない | 許可されていない |
| Array.prototype.unshift | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| [[Set]] | 許可されていない | 許可されていない |
| SetIntegrityLevel | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Array.prototype.copyWithin | 許可されていない | 許可されていない |
| Array.prototype.pop | 許可されていない | 許可されていない |
| Array.prototype.reverse | 許可されていない | 許可されていない |
| Array.prototype.shift | 許可されていない | 許可されていない |
| Array.prototype.splic | 許可されていない | 許可されていない |
| Array.prototype.unshift | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| [[Set]] | 許可されていない | 許可されていない |
| Object.assign | 許可されていない | 許可されていない |
| Object.prototype.hasOwnProperty | 許可されていない | 許可されていない |
| Function.prototype.bind | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| SetIntegrityLevel | 許可されていない | 許可されていない |
| TestIntegrityLevel | 許可されていない | 許可されていない |
| SerializeJSONObject | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Object.getPrototypeOf | 許可されていない | 許可されていない |
| Object.getOwnPropertyDescriptor | 許可されていない | 許可されていない |
| Object.getOwnPropertyNames | 許可されていない | 許可されていない |
| Object.seal | 許可されていない | 許可されていない |
| Object.freeze | 許可されていない | 許可されていない |
| Object.preventExtensions | 許可されていない | 許可されていない |
| Object.isSealed | 許可されていない | 許可されていない |
| Object.isFrozen | 許可されていない | 許可されていない |
| Object.isExtensible | 許可されていない | 許可されていない |
| Object.keys | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Object.keys | 許可されていない | 許可されていない |
| Object.getOwnPropertyNames | 許可されていない | 許可されていない |
| Object.assign | 許可されていない | 許可されていない |
| JSON.stringify | 許可されていない | 許可されていない |
| JSON.parse | 許可されていない | 許可されていない |
| Reflect.ownKeys, string key order | 許可されていない | 許可されていない |
| Reflect.ownKeys, symbol key order | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| var ⸯ; | 許可されていない | 許可されていない |
| var ð ‹€; | 許可されていない | 許可されていない |
| no escaped reserved words as identifiers | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| hoisted block-level function declaration | 許可されていない | 許可されていない |
| labeled function statements | 許可されていない | 許可されていない |
| function statements in if-statement clauses | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic support | 許可されていない | 許可されていない |
| multiple __proto__ is an error | 許可されていない | 許可されていない |
| not a computed property | 許可されていない | 許可されていない |
| not a shorthand property | 許可されていない | 許可されていない |
| not a shorthand method | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| get prototype | 許可されていない | 許可されていない |
| set prototype | 許可されていない | 許可されていない |
| absent from Object.create(null) | 許可されていない | 許可されていない |
| present in hasOwnProperty() | 許可されていない | 許可されていない |
| correct property descriptor | 許可されていない | 許可されていない |
| present in Object.getOwnPropertyNames() | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| existence | 許可されていない | 許可されていない |
| tags' names are lowercase | 許可されていない | 許可されていない |
| quotes in arguments are escaped | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| basic functionality | 許可されていない | 許可されていない |
| returns this | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| hyphens in character sets | 許可されていない | 許可されていない |
| invalid character escapes | 許可されていない | 許可されていない |
| invalid control-character escapes | 許可されていない | 許可されていない |
| invalid Unicode escapes | 許可されていない | 許可されていない |
| invalid hexadecimal escapes | 許可されていない | 許可されていない |
| incomplete patterns and quantifiers | 許可されていない | 許可されていない |
| octal escape sequences | 許可されていない | 許可されていない |
| invalid backreferences become octal escapes | 許可されていない | 許可されていない |
ECMAScript 2009 (ES5) の機能
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Getter accessors | サポート対象 | サポート対象 |
| Setter accessors | サポート対象 | サポート対象 |
| Trailing commas in object literals | サポート対象 | サポート対象 |
| Trailing commas in array literals | サポート対象 | サポート対象 |
| Reserved words as property names | サポート対象 | サポート対象 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Object.create | サポート対象 | サポート対象 |
| Object.defineProperty | サポート対象 | サポート対象 |
| Object.defineProperties | サポート対象 | サポート対象 |
| Object.getPrototypeOf | サポート対象 | サポート対象 |
| Object.keys | サポート対象 | サポート対象 |
| Object.seal | サポート対象 | サポート対象 |
| Object.freeze | サポート対象 | サポート対象 |
| Object.preventExtensions | サポート対象 | サポート対象 |
| Object.isSealed | サポート対象 | サポート対象 |
| Object.isFrozen | サポート対象 | サポート対象 |
| Object.isExtensible | サポート対象 | サポート対象 |
| Object.getOwnPropertyDescriptor | サポート対象 | サポート対象 |
| Object.getOwnPropertyNames | サポート対象 | サポート対象 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Array.isArray | サポート対象 | サポート対象 |
| Array.prototype.indexOf | サポート対象 | サポート対象 |
| Array.prototype.lastIndexOf | サポート対象 | サポート対象 |
| Array.prototype.every | サポート対象 | サポート対象 |
| Array.prototype.some | サポート対象 | サポート対象 |
| Array.prototype.forEach | サポート対象 | サポート対象 |
| Array.prototype.map | サポート対象 | サポート対象 |
| Array.prototype.filter | サポート対象 | サポート対象 |
| Array.prototype.reduce | サポート対象 | サポート対象 |
| Array.prototype.reduceRight | サポート対象 | サポート対象 |
| Array.prototype.sort: compareFn must be function or undefined | サポート対象外 | サポート対象外 |
| Array.prototype.sort: compareFn may be explicit undefined | サポート対象 | サポート対象 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Property access on strings | サポート対象 | サポート対象 |
| String.prototype.split | サポート対象 | サポート対象外 |
| String.prototype.trim | サポート対象 | サポート対象 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Date.prototype.toISOString | サポート対象 | サポート対象 |
| Date.now | サポート対象 | サポート対象 |
| Date.prototype.toJSON | サポート対象外 | サポート対象外 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| 未定義 | サポート対象 | サポート対象 |
| NaN | サポート対象 | サポート対象 |
| Infinity | サポート対象 | サポート対象 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Number.prototype.toExponential rounds properly | サポート対象 | サポート対象 |
| Number.prototype.toExponential throws on ±Infinity fractionDigits | サポート対象 | サポート対象 |
| Number.prototype.toExponential does not throw on edge cases | サポート対象 | サポート対象 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| reserved words | 許可されていない | 許可されていない |
| "this" is undefined in functions | 許可されていない | 許可されていない |
| "this" is not coerced to object in primitive methods | 許可されていない | 許可されていない |
| "this" is not coerced to object in primitive accessors | 許可されていない | 許可されていない |
| legacy octal is a SyntaxError | 許可されていない | 許可されていない |
| assignment to unresolvable identifiers is a ReferenceError | 許可されていない | 許可されていない |
| assignment to eval or arguments is a SyntaxError | 許可されていない | 許可されていない |
| assignment to non-writable properties is a TypeError | 許可されていない | 許可されていない |
| eval or arguments bindings is a SyntaxError | 許可されていない | 許可されていない |
| arguments.caller removed or is a TypeError | 許可されていない | 許可されていない |
| arguments.callee is a TypeError | 許可されていない | 許可されていない |
| (function(){}).caller and (function(){}).arguments is a TypeError | 許可されていない | 許可されていない |
| arguments is unmapped | 許可されていない | 許可されていない |
| eval() can't create bindings | 許可されていない | 許可されていない |
| deleting bindings is a SyntaxError | 許可されていない | 許可されていない |
| deleting non-configurable properties is a TypeError | 許可されていない | 許可されていない |
| "with" is a SyntaxError | 許可されていない | 許可されていない |
| repeated parameter names is a SyntaxError | 許可されていない | 許可されていない |
| function expressions with matching name and argument are valid | 許可されていない | 許可されていない |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| Function.prototype.bind | サポート対象 | サポート対象 |
| 機能 | ECMAScript 2021 (ES12) | ES5 標準 |
|---|---|---|
| JSON | サポート対象 | サポート対象 |