Prise en charge des fonctionnalités du moteur JavaScript
Comparez les fonctionnalités ECMAScript entre les modes JavaScript des normes ECMAScript 2021 (ES12) et ES5 dans Washington DC . Les deux modes prennent en charge un sous-ensemble de fonctionnalités ECMAScript.
Pour plus d’informations sur ces fonctionnalités, consultez les spécifications du langage ECMAScript (ECMA-262) sur le site Web d’Ecma International .
Définitions des supports
- Pris en charge
- La fonctionnalité a été testée et validée.
- Non pris en charge
- La fonctionnalité n’a pas été validée dans la version actuelle.
- Rejeté
- La fonctionnalité ne s’aligne pas avec le modèle de Now Platform programmation ou présente un risque de sécurité ou de performances. Les fonctionnalités non autorisées entraînent une erreur.
Caractéristiques d’ECMAScript 2022 (ES13)
Important :
Avant de déployer le code en production, vous devez tester les scripts à l’aide des fonctionnalités ECMAScript 2022 (ES13) prises en charge de manière approfondie en raison de la prise en charge partielle et nouvellement ajoutée des fonctionnalités dans cette version d’ECMAScript.
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Champs de classe d’instance publique | Pris en charge | Non pris en charge |
| Support de base des champs de classe d’instance privée | Non pris en charge | Non pris en charge |
| Initialiseurs des champs de classe d’instance privée | Non pris en charge | Non pris en charge |
| Accès aux champs facultatifs de la classe d’instance privée | Non pris en charge | Non pris en charge |
| Accès aux champs de classe d’instance privés profonds facultatifs | Non pris en charge | Non pris en charge |
| Champs de classe d’instance calculés | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Champs de classes statiques publiques | Pris en charge | Non pris en charge |
| les champs de classe statiques utilisent [[Define]] | Pris en charge | Non pris en charge |
| Champs de classe statiques privés | Pris en charge | Non pris en charge |
| Champs de classe statiques calculés | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Méthodes d’instances privées | Non pris en charge | Non pris en charge |
| Méthodes statiques privées | Pris en charge | Non pris en charge |
| Propriétés de l’accesseur privé | Non pris en charge | Non pris en charge |
| Propriétés de l’accesseur statique privé | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Array.prototype.at() | Non pris en charge | Non pris en charge |
| String.prototype.at() | Pris en charge | Non pris en charge |
| %TypedArray%.prototype.at() | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| ToObject appelé avant ToPropertyKey | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| L’erreur a une cause | Pris en charge | Non pris en charge |
| Error.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| EvalError a une cause | Pris en charge | Non pris en charge |
| EvalError.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| RangeError a une cause | Pris en charge | Non pris en charge |
| RangeError.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| ReferenceError a une cause | Pris en charge | Non pris en charge |
| ReferenceError.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| SyntaxError a une cause | Pris en charge | Non pris en charge |
| SyntaxError.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| TypeError a une cause | Pris en charge | Non pris en charge |
| TypeError.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| URIError a une cause | Pris en charge | Non pris en charge |
| URIError.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| AggregateError a une cause | Pris en charge | Non pris en charge |
| AggregateError.prototype n’a pas de cause | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| constructeur le prend en charge | Non pris en charge | Non pris en charge |
| S’affiche dans les marqueurs | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Contrôles de marque ergonomiques pour les champs privés | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Blocs d’initialisation statique de classe | Pris en charge | Non pris en charge |
Caractéristiques d’ECMAScript 2021 (ES12)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Accomplissement | Rejeté | Rejeté |
| Erreur d’agrégat | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Prise en charge minimale de WeakRef | Rejeté | Rejeté |
| Prise en charge minimale de FinalizationRegistry | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| ||= Soutien de base | Pris en charge | Non pris en charge |
| ||= comportement de court-circuit | Pris en charge | Non pris en charge |
| ||= setter pas inutilement invoqué | Pris en charge | Non pris en charge |
| &&= support de base | Pris en charge | Non pris en charge |
| &&= comportement de court-circuit | Pris en charge | Non pris en charge |
| &&= setter pas inutilement invoqué | Pris en charge | Non pris en charge |
| ?? = Soutien de base | Pris en charge | Non pris en charge |
| ?? = comportement de court-circuit | Pris en charge | Non pris en charge |
| ?? = setter pas inutilement invoqué | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Séparateurs numériques | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| chaîne.prototype.replacetout | Pris en charge | Pris en charge |
Caractéristiques d’ECMAScript 2020 (ES11)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| Déclenche une regex non globale | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Non pris en charge | Non pris en charge |
| Constructeur | Non pris en charge | Non pris en charge |
| BigInt.asUintN | Non pris en charge | Non pris en charge |
| BigInt.asIntN | Non pris en charge | Non pris en charge |
| BigInt64Array | Non pris en charge | Non pris en charge |
| BigUint64Array | Non pris en charge | Non pris en charge |
| DataView.prototype.getBigInt64 | Non pris en charge | Non pris en charge |
| DataView.prototype.getBigUint64 | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| La propriété globale « globalThis » est un objet global | Rejeté | Rejeté |
| La propriété globale « globalThis » a un descripteur de propriété correct | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Accès facultatif à la propriété | Pris en charge | Non pris en charge |
| Accès au support en option | Pris en charge | Non pris en charge |
| Appel de méthode facultatif | Pris en charge | Non pris en charge |
| Appel de fonction facultatif | Pris en charge | Non pris en charge |
| Paramètres d’étalement après chaînage facultatif | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Promesse.tousRéglé | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Opérateur de coalescence nullish ( ??) | Pris en charge | Non pris en charge |
Caractéristiques d’ECMAScript 2019 (ES10)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Base | Pris en charge | Non pris en charge |
| Description vide | Pris en charge | Non pris en charge |
| description non définie | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| chaîne.prototype.trimgauche | Pris en charge | Pris en charge |
| String.prototype.trimRight | Pris en charge | Pris en charge |
| String.prototype.trimStart | Pris en charge | Non pris en charge |
| chaîne.prototype.trimEnd | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Tableau.prototype.plat | Pris en charge | Non pris en charge |
| Tableau.prototype.flatMap | Pris en charge | Non pris en charge |
| flat et flatMap dans Array.prototype[@@unscopables] | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Objet.fromEntries | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Base | Rejeté | Rejeté |
| Attendent | Rejeté | Rejeté |
| Rendement | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| fonctions créées avec le constructeur Function | Rejeté | Rejeté |
| Flèches | Rejeté | Rejeté |
| [Code natif] | Rejeté | Rejeté |
| expression de classe avec constructeur implicite | Rejeté | Rejeté |
| Expression de classe avec constructeur explicite | Rejeté | Rejeté |
| Séquences d’échappement Unicode dans les identificateurs | Rejeté | Rejeté |
| Méthodes et noms de propriétés calculés | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Un séparateur de ligne peut apparaître dans les littéraux de chaîne | Rejeté | Rejeté |
| Le séparateur de paragraphe peut apparaître dans les littéraux de chaîne | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| JSON.stringify bien formé | Rejeté | Rejeté |
Caractéristiques d’ECMAScript 2018 (ES9)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Propriétés REST de l’objet | Pris en charge | Non pris en charge |
| Propriétés de propagation de l’objet | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Support de base | Rejeté | Rejeté |
| Ne pas changer la valeur de résolution | Rejeté | Rejeté |
| Changer la valeur de rejet | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Générateurs asynchrones | Rejeté | Rejeté |
| boucles for-await-of | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| s (dotAll) pour les expressions régulières | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Groupes de capture nommés RegExp | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Assertions de lookbehind d’exp reg | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Échappements de propriété Unicode RegExp | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Révision littérale du modèle | Rejeté | Rejeté |
Caractéristiques d’ECMAScript 2017 (ES8)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Valeurs.objet | Pris en charge | Non pris en charge |
| entrées.objet | Pris en charge | Non pris en charge |
| Object.getOwnPropertyDescriptors | Pris en charge | Non pris en charge |
| Object.getOwnPropertyDescriptors ne fournit pas de descripteurs non définis | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| chaîne.prototype.padStart | Pris en charge | Non pris en charge |
| chaîne.prototype.padEnd | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| dans les listes de paramètres | Pris en charge | Non pris en charge |
| dans les listes d’arguments | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Retour | Rejeté | Rejeté |
| Jeter | Rejeté | Rejeté |
| Pas de saut de ligne entre asynchrone et fonction | Rejeté | Rejeté |
| Pas de propriété « prototype » | Rejeté | Rejeté |
| Attendent | Rejeté | Rejeté |
| attendre, rejet | Rejeté | Rejeté |
| doit attendre une valeur | Rejeté | Rejeté |
| peut attendre des valeurs autres que Promise | Rejeté | Rejeté |
| Impossible d’attendre dans les paramètres | Rejeté | Rejeté |
| méthodes asynchrones, littéraux d’objets | Rejeté | Rejeté |
| Méthodes asynchrones, classes | Rejeté | Rejeté |
| Fonctions fléchées asynchrones dans les méthodes, les classes | Rejeté | Rejeté |
| Fonctions de flèches asynchrones | Rejeté | Rejeté |
| Chaîne de prototypage correcte | Rejeté | Rejeté |
| prototype de fonction asynchrone, Symbol.toStringTag | Rejeté | Rejeté |
| Constructeur de fonction asynchrone | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| SharedArrayBuffer | Rejeté | Rejeté |
| SharedArrayBuffer[Symbol.species] | Rejeté | Rejeté |
| SharedArrayBuffer.prototype.byteLength | Rejeté | Rejeté |
| SharedArrayBuffer.prototype.slice | Rejeté | Rejeté |
| SharedArrayBuffer.prototype[Symbol.toStringTag] | Rejeté | Rejeté |
| Atomics.add | Rejeté | Rejeté |
| Atomics.et | Rejeté | Rejeté |
| Atomics.compareExchange | Rejeté | Rejeté |
| Atomics.exchange | Rejeté | Rejeté |
| Atomics.wait | Rejeté | Rejeté |
| Atomics.wake | Rejeté | Rejeté |
| Atomics.isLockFree | Rejeté | Rejeté |
| Atomics.load | Rejeté | Rejeté |
| Atomics.ou | Rejeté | Rejeté |
| Atomics.store | Rejeté | Rejeté |
| Atomique.sub | Rejeté | Rejeté |
| Atomics.xor | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| __defineGetter__ | Rejeté | Rejeté |
| __defineGetter__, symboles | Rejeté | Rejeté |
| __defineGetter__, ToObject(this) | Rejeté | Rejeté |
| __defineSetter__ | Rejeté | Rejeté |
| __defineSetter__, symboles | Rejeté | Rejeté |
| __defineSetter__, ToObject(this) | Rejeté | Rejeté |
| __lookupGetter__ | Rejeté | Rejeté |
| __lookupGetter__, chaîne de prototypes | Rejeté | Rejeté |
| __lookupGetter__, symboles | Rejeté | Rejeté |
| __lookupGetter__, ToObject(this) | Rejeté | Rejeté |
| __lookupGetter__, les propriétés des données peuvent ombrer les accesseurs | Rejeté | Rejeté |
| __lookupSetter__ | Rejeté | Rejeté |
| __lookupSetter__, chaîne de prototypes | Rejeté | Rejeté |
| __lookupSetter__, symboles | Rejeté | Rejeté |
| __lookupSetter__, ToObject(this) | Rejeté | Rejeté |
| __lookupSetter__, les propriétés des données peuvent masquer les accesseurs | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| __defineGetter__ | Rejeté | Rejeté |
| __defineSetter__ | Rejeté | Rejeté |
| __lookupGetter__ | Rejeté | Rejeté |
| __lookupSetter__ | Rejeté | Rejeté |
Caractéristiques d’ECMAScript 2016 (ES7)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Support de base | Pris en charge | Non pris en charge |
| Affectation | Pris en charge | Non pris en charge |
| Erreur de syntaxe précoce pour la négation unaire sans parenthèses | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Tableau.prototype.includes | Pris en charge | Non pris en charge |
| Array.prototype.includes est générique | Non pris en charge | Non pris en charge |
| %TypedArray%.prototype.includes | Rejeté | Rejeté |
Caractéristiques d’ECMAScript 2015 (ES6)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Récursivité directe | Rejeté | Rejeté |
| Récursivité mutuelle | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| explicite non défini s’en remet à la valeur par défaut | Pris en charge | Non pris en charge |
| Les valeurs par défaut peuvent faire référence aux paramètres précédents | Pris en charge | Non pris en charge |
| Interaction d’objet des arguments | Pris en charge | Non pris en charge |
| Zone morte temporelle | Rejeté | Rejeté |
| Périmètre distinct | Pris en charge | Non pris en charge |
| nouvelle prise en charge de Function() | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| Propriété 'length' de la fonction | Pris en charge | Non pris en charge |
| Interaction d’objet des arguments | Non pris en charge | Non pris en charge |
| ne peut pas être utilisé dans les setters | Rejeté | Rejeté |
| nouvelle prise en charge de Function() | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| avec des tableaux, dans les appels de fonction | Pris en charge | Non pris en charge |
| avec des tableaux, dans des littéraux de tableau | Pris en charge | Non pris en charge |
| avec des tableaux clairsemés, dans les appels de fonction | Soutenu | Non pris en charge |
| avec des tableaux clairsemés, dans des littéraux de tableau | Pris en charge | Non pris en charge |
| avec des chaînes de caractères, dans les appels de fonction | Soutenu | Non pris en charge |
| avec des chaînes de caractères, dans un tableau de littéraux | Pris en charge | Non pris en charge |
| avec des cordes de plan astral, dans les appels de fonction | Soutenu | Non pris en charge |
| avec des chaînes de caractères du plan astral, dans des littéraux de tableau | Pris en charge | Non pris en charge |
| avec des instances de générateur, dans les appels | Rejeté | Rejeté |
| avec des instances de générateur, dans des tableaux | Rejeté | Rejeté |
| avec itérables génériques, dans les appels | Pris en charge | Non pris en charge |
| avec des itérables génériques, en tableaux | Pris en charge | Non pris en charge |
| avec des instances d’itérables, dans les appels | Pris en charge | Non pris en charge |
| avec des instances d’itérables, dans des tableaux | Pris en charge | Non pris en charge |
| La répartition des éléments non itérables est une erreur d’exécution | Soutenu | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Propriétés calculées | Pris en charge | Non pris en charge |
| Propriétés abrégées | Pris en charge | Non pris en charge |
| Méthodes abrégées | Pris en charge | Non pris en charge |
| Méthodes abrégées à clé de chaîne | Pris en charge | Non pris en charge |
| Méthodes abrégées calculées | Pris en charge | Non pris en charge |
| Accesseurs calculés | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| avec tableaux | Pris en charge | Non pris en charge |
| avec des tableaux clairsemés | Pris en charge | Non pris en charge |
| avec des chaînes de caractères | Pris en charge | Non pris en charge |
| avec cordes du plan astral | Pris en charge | Non pris en charge |
| avec les instances de générateur | Rejeté | Rejeté |
| avec des itérables génériques | Pris en charge | Non pris en charge |
| avec des instances d’itérables génériques | Pris en charge | Non pris en charge |
| fermeture de l’itérateur, pause | Pris en charge | Non pris en charge |
| fermeture de l’itérateur, lancer | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| littéraux octals | Pris en charge | Non pris en charge |
| littéraux binaires | Pris en charge | Non pris en charge |
| octal pris en charge par Number() | Non pris en charge | Non pris en charge |
| binaire supporté par Number() | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| conversion toString | Pris en charge | Non pris en charge |
| Littéraux de modèles balisés | Pris en charge | Non pris en charge |
| Le tableau transmis est figé | Pris en charge | Non pris en charge |
| Normalisation des sauts de ligne | Rejeté | Rejeté |
| TemplateStrings appelle la mise en cache du site | Pris en charge | Non pris en charge |
| Mise en cache permanente TemplateStrings | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Marqueur « Y » | Pris en charge | Non pris en charge |
| Marqueur « y », lastIndex | Pris en charge | Non pris en charge |
| Drapeau « U » | Non pris en charge | Non pris en charge |
| Marqueur « u », caractères Unicode non BMP | Non pris en charge | Non pris en charge |
| Drapeau « u », échappement des points de code Unicode | Non pris en charge | Non pris en charge |
| Drapeau en « U », pliage de l’étui | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| avec tableaux | Pris en charge | Non pris en charge |
| avec des tableaux clairsemés | Pris en charge | Non pris en charge |
| avec des chaînes de caractères | Pris en charge | Non pris en charge |
| avec cordes du plan astral | Pris en charge | Non pris en charge |
| avec les instances de générateur | Rejeté | Rejeté |
| avec des itérables génériques | Pris en charge | Non pris en charge |
| avec des instances d’itérables génériques | Pris en charge | Non pris en charge |
| Fermeture de l’itérateur | Pris en charge | Non pris en charge |
| Virgules de fin dans les modèles itérables | Pris en charge | Non pris en charge |
| avec des objets | Pris en charge | Non pris en charge |
| Déstructuration d’objets à l’aide de primitives | Pris en charge | Non pris en charge |
| Virgules de fin dans les modèles d’objets | Pris en charge | Non pris en charge |
| Lève sur null et undefined | Pris en charge | Non pris en charge |
| Propriétés calculées | Pris en charge | Non pris en charge |
| Multiples dans une seule variable d’instruction | Pris en charge | Non pris en charge |
| Imbriqués | Pris en charge | Non pris en charge |
| Têtes de boucle for-in | Pris en charge | Non pris en charge |
| dans les têtes de boucle for-of | Pris en charge | Non pris en charge |
| dans les têtes de capture | Pris en charge | Non pris en charge |
| Reste | Pris en charge | Non pris en charge |
| Par défaut | Pris en charge | Non pris en charge |
| défauts, laisser la zone morte temporelle | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| avec tableaux | Pris en charge | Non pris en charge |
| avec des tableaux clairsemés | Pris en charge | Non pris en charge |
| avec des chaînes de caractères | Pris en charge | Non pris en charge |
| avec cordes du plan astral | Pris en charge | Non pris en charge |
| avec les instances de générateur | Rejeté | Rejeté |
| avec des itérables génériques | Pris en charge | Non pris en charge |
| avec des instances d’itérables génériques | Pris en charge | Non pris en charge |
| Fermeture de l’itérateur | Pris en charge | Non pris en charge |
| Expression de déstructuration itérable | Pris en charge | Non pris en charge |
| déstructuration itérable chaînée | Pris en charge | Non pris en charge |
| Virgules de fin dans les modèles itérables | Pris en charge | Non pris en charge |
| avec des objets | Pris en charge | Non pris en charge |
| Déstructuration d’objets à l’aide de primitives | Pris en charge | Non pris en charge |
| Virgules de fin dans les modèles d’objets | Pris en charge | Non pris en charge |
| Expression de déstructuration d’objet | Pris en charge | Non pris en charge |
| entre parenthèses à gauche est une erreur de syntaxe | Rejeté | Rejeté |
| déstructuration d’objets chaînés | Pris en charge | Non pris en charge |
| Lève sur null et undefined | Pris en charge | Non pris en charge |
| Propriétés calculées | Pris en charge | Non pris en charge |
| Imbriqués | Pris en charge | Non pris en charge |
| Reste | Pris en charge | Non pris en charge |
| REST imbriqué | Pris en charge | Non pris en charge |
| Modèles vides | Pris en charge | Non pris en charge |
| Par défaut | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| avec tableaux | Pris en charge | Non pris en charge |
| avec des tableaux clairsemés | Pris en charge | Non pris en charge |
| avec des chaînes de caractères | Pris en charge | Non pris en charge |
| avec cordes du plan astral | Pris en charge | Non pris en charge |
| avec les instances de générateur | Rejeté | Rejeté |
| avec des itérables génériques | Pris en charge | Non pris en charge |
| avec des instances d’itérables génériques | Pris en charge | Non pris en charge |
| Fermeture de l’itérateur | Pris en charge | Non pris en charge |
| Virgules de fin dans les modèles itérables | Pris en charge | Non pris en charge |
| avec des objets | Pris en charge | Non pris en charge |
| Déstructuration d’objets à l’aide de primitives | Pris en charge | Non pris en charge |
| Virgules de fin dans les modèles d’objets | Pris en charge | Non pris en charge |
| Lève sur null et undefined | Pris en charge | Non pris en charge |
| Propriétés calculées | Pris en charge | Non pris en charge |
| Imbriqués | Pris en charge | Non pris en charge |
| Interaction 'arguments' | Pris en charge | Non pris en charge |
| nouvelle prise en charge de Function() | Rejeté | Rejeté |
| Dans les paramètres, la propriété 'length' de la fonction | Pris en charge | Non pris en charge |
| Reste | Pris en charge | Non pris en charge |
| Modèles vides | Pris en charge | Non pris en charge |
| Par défaut | Pris en charge | Non pris en charge |
| défauts, périmètre séparé | Pris en charge | Non pris en charge |
| defaults, nouveau support de Function() | Rejeté | Rejeté |
| Valeurs par défaut aliasées, fonction fléchée | Pris en charge | Non pris en charge |
| Valeurs abrégées par défaut, fonction fléchée | Pris en charge | Non pris en charge |
| Identificateur en double | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| dans les chaînes | Pris en charge | Non pris en charge |
| Dans les identificateurs | Non pris en charge | Non pris en charge |
| dans les définitions de clé de propriété | Non pris en charge | Non pris en charge |
| dans les accès à la clé de propriété | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| dans les constructeurs | Non pris en charge | Non pris en charge |
| L’affectation est une erreur précoce | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Support de base | Pris en charge | Pris en charge |
| Est un bloc délimité | Pris en charge | Non pris en charge |
| Résolution de l’ombre du périmètre | Pris en charge | Non pris en charge |
| ne peut pas être dans des instructions | Rejeté | Rejeté |
| La redéfinition d’un const est une erreur | Rejeté | Rejeté |
| Périmètre de l’instruction de boucle for | Pris en charge | Non pris en charge |
| Périmètre d’itération de la boucle for-in | Pris en charge | Non pris en charge |
| Périmètre de l’itération de la boucle for-of | Pris en charge | Non pris en charge |
| Zone morte temporelle | Non pris en charge | Non pris en charge |
| Support de base (mode strict) | Pris en charge | Pris en charge |
| Est limité aux blocs (mode strict) | Pris en charge | Non pris en charge |
| Résolution des ombres du champ d’application (mode strict) | Pris en charge | Non pris en charge |
| ne peut pas être dans des instructions (mode strict) | Rejeté | Rejeté |
| Redéfinition d’un const (mode strict) | Rejeté | Rejeté |
| Périmètre de l’instruction de boucle for (mode strict) | Pris en charge | Non pris en charge |
| Périmètre d’itération de la boucle for-in (mode strict) | Pris en charge | Non pris en charge |
| Périmètre d’itération de la boucle for-of (mode strict) | Pris en charge | Non pris en charge |
| Zone morte temporelle (mode strict) | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Support de base | Pris en charge | Non pris en charge |
| Est un bloc délimité | Pris en charge | Non pris en charge |
| Résolution de l’ombre du périmètre | Pris en charge | Non pris en charge |
| ne peut pas être dans des instructions | Rejeté | Rejeté |
| Périmètre de l’instruction de boucle for | Pris en charge | Non pris en charge |
| Zone morte temporelle | Non pris en charge | Non pris en charge |
| Périmètre de l’itération de la boucle for/for in | Pris en charge | Non pris en charge |
| Paramètre d’ombrage de liaison de boucle for-in | Rejeté | Rejeté |
| Support de base (mode strict) | Pris en charge | Non pris en charge |
| Est limité aux blocs (mode strict) | Pris en charge | Non pris en charge |
| Résolution des ombres du champ d’application (mode strict) | Pris en charge | Non pris en charge |
| ne peut pas être dans des instructions (mode strict) | Rejeté | Rejeté |
| Périmètre de l’instruction de boucle for (mode strict) | Pris en charge | Non pris en charge |
| Zone morte temporelle (mode strict) | Non pris en charge | Non pris en charge |
| Périmètre d’itération de boucle for/for-in (mode strict) | Pris en charge | Non pris en charge |
| Paramètre d’ombrage de liaison de boucle for-in (mode strict) | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Déclaration de fonction au niveau du bloc | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| 0 paramètres | Pris en charge | Non pris en charge |
| 1 paramètre, pas de parenthèses | Pris en charge | Non pris en charge |
| Paramètres multiples | Pris en charge | Non pris en charge |
| Reliure lexicale « this » | Pris en charge | Non pris en charge |
| « ceci » inchangé par appel ou par application | Pris en charge | Non pris en charge |
| ne peut pas être lié, peut être mis au curry | Pris en charge | Non pris en charge |
| Liaison d'"arguments » lexicaux | Pris en charge | Non pris en charge |
pas de saut de ligne entre les paramètres et => |
Rejeté | Rejeté |
| Priorité correcte | Rejeté | Rejeté |
| Pas de propriété « prototype » | Non pris en charge | Non pris en charge |
| Reliure lexicale « super » dans les constructeurs | Pris en charge | Non pris en charge |
| Reliure lexicale « super » dans les méthodes | Pris en charge | Non pris en charge |
| Liaison lexicale « new.target » | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Instruction de classe | Pris en charge | Non pris en charge |
| Est un bloc délimité | Pris en charge | Non pris en charge |
| Expression de classe | Pris en charge | Non pris en charge |
| Classe anonyme | Pris en charge | Non pris en charge |
| Constructeur | Pris en charge | Non pris en charge |
| Méthodes de prototypage | Pris en charge | Non pris en charge |
| Méthodes à clé de chaîne | Pris en charge | Non pris en charge |
| Méthodes de prototypage calculées | Pris en charge | Non pris en charge |
| Points-virgules facultatifs | Pris en charge | Non pris en charge |
| Méthodes statiques | Pris en charge | Non pris en charge |
| Méthodes statiques calculées | Pris en charge | Non pris en charge |
| Propriétés de l’accesseur | Pris en charge | Non pris en charge |
| Propriétés de l’accesseur calculé | Pris en charge | Non pris en charge |
| Propriétés de l’accesseur statique | Pris en charge | Non pris en charge |
| Propriétés de l’accesseur statique calculé | Pris en charge | Non pris en charge |
| Le nom de classe est délimité lexicalement | Pris en charge | Non pris en charge |
| noms calculés, zone morte temporelle | Non pris en charge | Non pris en charge |
| Les méthodes ne sont pas énumérables | Pris en charge | Non pris en charge |
| Mode strict implicite | Non pris en charge | Non pris en charge |
| Le constructeur nécessite un nouveau | Pris en charge | Non pris en charge |
| étend | Pris en charge | Non pris en charge |
| Étend les expressions | Pris en charge | Non pris en charge |
| Extension null | Pris en charge | Non pris en charge |
| nouveau.cible | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| déclaration dans les constructeurs | Pris en charge | Non pris en charge |
| Expression dans les constructeurs | Pris en charge | Non pris en charge |
| dans méthodes, accès aux propriétés | Pris en charge | Non pris en charge |
| dans les méthodes, appels de méthode | Pris en charge | Non pris en charge |
| Les appels de méthode utilisent la liaison « this » correcte | Pris en charge | Non pris en charge |
| Les appels de constructeur utilisent une liaison « new.target » correcte | Pris en charge | Non pris en charge |
| est lié statiquement | Pris en charge | Non pris en charge |
| super() invoque le constructeur correct | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Rejeté | Rejeté |
| Expressions de fonction de générateur | Rejeté | Rejeté |
| Corriger la liaison « cette » | Rejeté | Rejeté |
| impossible d’utiliser « this » avec nouveau | Rejeté | Rejeté |
| Envoyer | Rejeté | Rejeté |
| %GénérateurPrototype% | Rejeté | Rejeté |
| %GeneratorPrototype% chaîne de prototypes | Rejeté | Rejeté |
| %GeneratorPrototype%.constructor | Rejeté | Rejeté |
| %GeneratorPrototype%.throw | Rejeté | Rejeté |
| %GeneratorPrototype%.return | Rejeté | Rejeté |
| Priorité de l’opérateur de rendement | Rejeté | Rejeté |
| yield *, tableaux | Rejeté | Rejeté |
| yield *, tableaux clairsemés | Rejeté | Rejeté |
| yield *, chaînes de caractères | Rejeté | Rejeté |
| Cédence *, cordes du plan astral | Rejeté | Rejeté |
| yield *, instances de générateur | Rejeté | Rejeté |
| rendement *, itérables génériques | Rejeté | Rejeté |
| yield *, instances d’itérables | Rejeté | Rejeté |
| yield * sur les non-itérables est une erreur d’exécution | Rejeté | Rejeté |
| rendement *, fermeture de l’itérateur | Rejeté | Rejeté |
| yield *, fermeture de l’itérateur via throw() | Rejeté | Rejeté |
| Méthodes de générateur de sténographie | Rejeté | Rejeté |
| Méthodes de génération de sténographie à clé de chaîne | Rejeté | Rejeté |
| Générateurs de sténographie calculés | Rejeté | Rejeté |
| méthodes de générateur de sténographie, classes | Rejeté | Rejeté |
| Générateurs de sténographie calculés, classes | Rejeté | Rejeté |
| Les générateurs abrégés ne peuvent pas être des constructeurs | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Tableau Int8 | Rejeté | Rejeté |
| Uint8Array (en anglais seulement) | Rejeté | Rejeté |
| Uint8ClampedArray | Rejeté | Rejeté |
| Tableau Int16 | Rejeté | Rejeté |
| Uint16Array (en anglais) | Rejeté | Rejeté |
| Tableau Int32 | Rejeté | Rejeté |
| Uint32Array (en anglais seulement) | Rejeté | Rejeté |
| Float32Array (en anglais seulement) | Rejeté | Rejeté |
| Float64Array (en anglais seulement) | Rejeté | Rejeté |
| DataView (Int8) | Rejeté | Rejeté |
| DataView (Uint8) | Rejeté | Rejeté |
| DataView (Int16) | Rejeté | Rejeté |
| DataView (Uint16) | Rejeté | Rejeté |
| DataView (Int32) | Rejeté | Rejeté |
| DataView (Uint32) | Rejeté | Rejeté |
| Vue de données (Float32) | Rejeté | Rejeté |
| DataView (Float64) | Rejeté | Rejeté |
| ArrayBuffer[Symbole.espèce] | Rejeté | Rejeté |
| Les constructeurs exigent de nouveaux | Rejeté | Rejeté |
| Les constructeurs acceptent les itérables génériques | Rejeté | Rejeté |
| Chaînes de prototypage correctes | Rejeté | Rejeté |
| %TableauTyped%.from | Rejeté | Rejeté |
| %TableauTyped%.of | Rejeté | Rejeté |
| %TypedArray%.prototype.subarray | Rejeté | Rejeté |
| %TypedArray%.prototype.join | Rejeté | Rejeté |
| %TypedArray%.prototype.indexOf | Rejeté | Rejeté |
| %TypedArray%.prototype.lastIndexOf | Rejeté | Rejeté |
| %TypedArray%.prototype.slice | Rejeté | Rejeté |
| %TypedArray%.prototype.every | Rejeté | Rejeté |
| %TypedArray%.prototype.filter | Rejeté | Rejeté |
| %TypedArray%.prototype.forEach | Rejeté | Rejeté |
| %TypedArray%.prototype.map | Rejeté | Rejeté |
| %TypedArray%.prototype.reduce | Rejeté | Rejeté |
| %TypedArray%.prototype.reduceRight | Rejeté | Rejeté |
| %TypedArray%.prototype.reverse | Rejeté | Rejeté |
| %TypedArray%.prototype.some | Rejeté | Rejeté |
| %TypedArray%.prototype.sort | Rejeté | Rejeté |
| %TypedArray%.prototype.copyWithin | Rejeté | Rejeté |
| %TypedArray%.prototype.find | Rejeté | Rejeté |
| %TypedArray%.prototype.findIndex | Rejeté | Rejeté |
| %TypedArray%.prototype.fill | Rejeté | Rejeté |
| %TypedArray%.prototype.keys | Rejeté | Rejeté |
| %TypedArray%.prototype.values | Rejeté | Rejeté |
| %TypedArray%.prototype.entries | Rejeté | Rejeté |
| %TypedArray%.prototype[Symbol.iterator] | Rejeté | Rejeté |
| %TypedArray%[Symbol.species] | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| Arguments du constructeur | Pris en charge | Non pris en charge |
| Le constructeur nécessite un nouveau | Pris en charge | Non pris en charge |
| constructeur accepte null | Pris en charge | Non pris en charge |
| Le constructeur invoque l’ensemble | Pris en charge | Non pris en charge |
| Fermeture de l’itérateur | Pris en charge | Non pris en charge |
| Map.prototype.set renvoie ceci | Pris en charge | Non pris en charge |
| La touche -0 convertit en +0 | Pris en charge | Non pris en charge |
| Map.prototype.size | Pris en charge | Non pris en charge |
| Carte.prototype.delete | Pris en charge | Non pris en charge |
| Carte.prototype.effacer | Pris en charge | Non pris en charge |
| Map.prototype.pourChaque | Pris en charge | Non pris en charge |
| Carte.prototype.clés | Pris en charge | Non pris en charge |
| Map.prototype.valeurs | Pris en charge | Non pris en charge |
| Map.prototype.entries | Pris en charge | Non pris en charge |
| Map.prototype[Symbol.iterator] | Pris en charge | Non pris en charge |
| Map.prototype n’est pas une instance | Pris en charge | Non pris en charge |
| Chaîne de prototype d’itérateur de carte | Pris en charge | Non pris en charge |
| Carte[Symbol.species] | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| Arguments du constructeur | Pris en charge | Non pris en charge |
| Le constructeur nécessite un nouveau | Pris en charge | Non pris en charge |
| constructeur accepte null | Pris en charge | Non pris en charge |
| Le constructeur invoque add | Pris en charge | Non pris en charge |
| Fermeture de l’itérateur | Pris en charge | Non pris en charge |
| Set.prototype.add renvoie ceci | Pris en charge | Non pris en charge |
| La touche -0 convertit en +0 | Pris en charge | Non pris en charge |
| Ensemble.prototype.taille | Pris en charge | Non pris en charge |
| Définir.prototype.supprimer | Pris en charge | Non pris en charge |
| définir.prototype.effacer | Pris en charge | Non pris en charge |
| Définir.prototype.pourChaque | Pris en charge | Non pris en charge |
| Set.prototype.keys | Pris en charge | Non pris en charge |
| Définir.prototype.valeurs | Pris en charge | Non pris en charge |
| définir.prototype.entrées | Pris en charge | Non pris en charge |
| Set.prototype[Symbol.iterator] | Pris en charge | Non pris en charge |
| Set.prototype n’est pas une instance | Pris en charge | Non pris en charge |
| Définir la chaîne de prototype d’itérateur | Pris en charge | Non pris en charge |
| Ensemble[Symbole.espèce] | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Rejeté | Rejeté |
| Arguments du constructeur | Rejeté | Rejeté |
| Le constructeur nécessite un nouveau | Rejeté | Rejeté |
| constructeur accepte null | Rejeté | Rejeté |
| Le constructeur invoque l’ensemble | Rejeté | Rejeté |
| Objets gelés en tant que clés | Rejeté | Rejeté |
| Fermeture de l’itérateur | Rejeté | Rejeté |
| WeakMap.prototype.set renvoie ceci | Rejeté | Rejeté |
| WeakMap.prototype.delete | Rejeté | Rejeté |
| aucune méthode WeakMap.prototype.clear | Rejeté | Rejeté |
| Les méthodes .has, .get et .delete acceptent les primitives | Rejeté | Rejeté |
| WeakMap.prototype n’est pas une instance | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Rejeté | Rejeté |
| Arguments du constructeur | Rejeté | Rejeté |
| Le constructeur nécessite un nouveau | Rejeté | Rejeté |
| constructeur accepte null | Rejeté | Rejeté |
| Le constructeur invoque add | Rejeté | Rejeté |
| Fermeture de l’itérateur | Rejeté | Rejeté |
| WeakSet.prototype.add renvoie ceci | Rejeté | Rejeté |
| EnsembleFaible.prototype.delete | Rejeté | Rejeté |
| aucune méthode WeakSet.prototype.clear | Rejeté | Rejeté |
| Les méthodes .has et .delete acceptent les primitives | Rejeté | Rejeté |
| WeakSet.prototype n’est pas une instance | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Le constructeur nécessite un nouveau | Rejeté | Rejeté |
| Pas de propriété « prototype » | Rejeté | Rejeté |
| Gestionnaire « GET » | Rejeté | Rejeté |
| Gestionnaire « GET », instances de proxys | Rejeté | Rejeté |
| Invariants de gestionnaire « get » | Rejeté | Rejeté |
| Gestionnaire « set » | Rejeté | Rejeté |
| gestionnaire « set », instances de proxys | Rejeté | Rejeté |
| Invariants de gestionnaire « set » | Rejeté | Rejeté |
| Gestionnaire « a » | Rejeté | Rejeté |
| gestionnaire « has », instances de proxys | Rejeté | Rejeté |
| invariants de gestionnaire « a » | Rejeté | Rejeté |
| Gestionnaire « deleteProperty » | Rejeté | Rejeté |
| invariant de gestionnaire « deleteProperty » | Rejeté | Rejeté |
| Gestionnaire « getOwnPropertyDescriptor » | Rejeté | Rejeté |
| Invariants du gestionnaire « getOwnPropertyDescriptor » | Rejeté | Rejeté |
| Gestionnaire « defineProperty » | Rejeté | Rejeté |
| Invariants du gestionnaire « defineProperty » | Rejeté | Rejeté |
| Gestionnaire « getPrototypeOf » | Rejeté | Rejeté |
| invariant du gestionnaire « getPrototypeOf » | Rejeté | Rejeté |
| Gestionnaire « setPrototypeOf » | Rejeté | Rejeté |
| invariant de gestionnaire « setPrototypeOf » | Rejeté | Rejeté |
| Gestionnaire « isExtensible » | Rejeté | Rejeté |
| Invariant du gestionnaire « isExtensible » | Rejeté | Rejeté |
| Gestionnaire « preventExtensions » | Rejeté | Rejeté |
| invariant du gestionnaire « preventExtensions » | Rejeté | Rejeté |
| Gestionnaire « ownKeys » | Rejeté | Rejeté |
| invariant du gestionnaire « ownKeys » | Rejeté | Rejeté |
| Gestionnaire « appliquer » | Rejeté | Rejeté |
| invariant de gestionnaire « appliquer » | Rejeté | Rejeté |
| Gestionnaire « construire » | Rejeté | Rejeté |
| Invariants de gestionnaire « construire » | Rejeté | Rejeté |
| Proxy.révocable | Rejeté | Rejeté |
| Prise en charge d’Array.isArray | Rejeté | Rejeté |
| Prise en charge de JSON.stringify | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Reflect.get (en anglais seulement) | Rejeté | Rejeté |
| Reflect.set (en anglais seulement) | Rejeté | Rejeté |
| Reflect.has (en anglais) | Rejeté | Rejeté |
| Propriété de Reflect.deleteRéf. | Rejeté | Rejeté |
| Reflect.getOwnPropertyDescriptor | Rejeté | Rejeté |
| Reflect.defineProperty | Rejeté | Rejeté |
| Reflect.getPrototypeOf | Rejeté | Rejeté |
| Reflect.setPrototypeOf | Rejeté | Rejeté |
| Reflect.isExtensible | Rejeté | Rejeté |
| Reflect.preventExtensions (en anglais seulement) | Rejeté | Rejeté |
| Reflect.ownKeys, clés de chaîne | Rejeté | Rejeté |
| Reflect.ownKeys, touches de symbole | Rejeté | Rejeté |
| Réfléchir.appliquer | Rejeté | Rejeté |
| Reflect.construct (en anglais seulement) | Rejeté | Rejeté |
| Reflect.construct définit la méta-propriété new.target | Rejeté | Rejeté |
| Reflect.construct crée des instances à partir du troisième argument | Rejeté | Rejeté |
| Reflect.construct, sous-classification de tableau | Rejeté | Rejeté |
| Sous-classification Reflect.construct, RegExp | Rejeté | Rejeté |
| Reflect.construct, sous-classification de fonction | Rejeté | Rejeté |
| Reflect.construct, sous-classe de promesse | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Rejeté | Rejeté |
| Le constructeur nécessite un nouveau | Rejeté | Rejeté |
| Promise.prototype n’est pas une instance | Rejeté | Rejeté |
| Promesse.all | Rejeté | Rejeté |
| Promise.all, itérables génériques | Rejeté | Rejeté |
| Promis.race | Rejeté | Rejeté |
| Promise.race, itérables génériques | Rejeté | Rejeté |
| Promesse[Symbol.species] | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Pris en charge | Non pris en charge |
| Type de support | Pris en charge | Non pris en charge |
| les clés de symbole sont masquées pour le code pré-ES6 | Pris en charge | Non pris en charge |
| Support pour Object.defineProperty | Pris en charge | Non pris en charge |
| symboles hérités de Symbol.prototype | Pris en charge | Non pris en charge |
| Impossible de forcer à une chaîne ou à un numéro | Non pris en charge | Non pris en charge |
| peut convertir avec String() | Non pris en charge | Non pris en charge |
| new Symbol() jette | Pris en charge | Non pris en charge |
| Objet (symbole) | Non pris en charge | Non pris en charge |
| JSON.stringify ignore les primitives de symboles | Pris en charge | Non pris en charge |
| JSON.stringify ignore les objets symboles | Non pris en charge | Non pris en charge |
| Registre mondial des symboles | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Symbole.hasInstance | Rejeté | Rejeté |
| Symbol.isConcatSpreadable | Rejeté | Rejeté |
| Symbol.iterator, existence | Rejeté | Rejeté |
| Symbol.iterator, objet arguments | Rejeté | Rejeté |
| Symbole.espèce, existence | Rejeté | Rejeté |
| Symbol.species, Array.prototype.concat | Rejeté | Rejeté |
| Symbole.espèce, Tableau.prototype.filtre | Rejeté | Rejeté |
| Symbole.espèce, Tableau.prototype.carte | Rejeté | Rejeté |
| Symbol.species, Array.prototype.slice | Rejeté | Rejeté |
| Symbol.species, Array.prototype.splice | Rejeté | Rejeté |
| Symbol.species, RegExp.prototype[Symbol.split] | Rejeté | Rejeté |
| Symbole.espèce, Promesse.prototype.alors | Rejeté | Rejeté |
| Symbole.remplacer | Rejeté | Rejeté |
| Symbole.search | Rejeté | Rejeté |
| Symbole.split | Rejeté | Rejeté |
| Symbole.match | Rejeté | Rejeté |
| Symbol.match, constructeur RegExp | Rejeté | Rejeté |
| Symbol.match, String.prototype.startsWith | Rejeté | Rejeté |
| Symbol.match, String.prototype.endsWith | Rejeté | Rejeté |
| symbole.match, chaîne.prototype.includes | Rejeté | Rejeté |
| Symbol.toPrimitive | Rejeté | Rejeté |
| Symbol.toStringTag | Rejeté | Rejeté |
| Symbol.toStringTag affecte les éléments intégrés existants | Rejeté | Rejeté |
| Symbol.toStringTag, nouveaux connecteurs intégrés | Rejeté | Rejeté |
| Symbol.toStringTag, divers éléments intégrés | Rejeté | Rejeté |
| Symbol.unscopables | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Objet.assign | Pris en charge | Non pris en charge |
| Object.is | Pris en charge | Non pris en charge |
| Objet.getOwnPropertySymbols | Pris en charge | Non pris en charge |
| Objet.setPrototypeOf | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Instructions de fonction | Pris en charge | Pris en charge |
| Expressions de fonction | Pris en charge | Pris en charge |
| nouvelle fonction | Non pris en charge | Non pris en charge |
| Fonctions liées | Non pris en charge | Non pris en charge |
| variables (fonction) | Pris en charge | Non pris en charge |
| Méthodes objet (fonction) | Pris en charge | Non pris en charge |
| Propriétés de l’accesseur | Non pris en charge | Non pris en charge |
| Méthodes abrégées | Pris en charge | Non pris en charge |
| méthodes abrégées (pas de liaison lexicale) | Pris en charge | Non pris en charge |
| Méthodes à clé de symbole | Non pris en charge | Non pris en charge |
| Instructions de classe | Pris en charge | Non pris en charge |
| Expressions de classe | Pris en charge | Non pris en charge |
| Variables (classe) | Soutenu | Non pris en charge |
| Méthodes objet (classe) | Non pris en charge | Non pris en charge |
| Méthodes de prototype de classe | Pris en charge | Non pris en charge |
| Méthodes statiques de classes | Pris en charge | Non pris en charge |
| n’est pas accessible en écriture, est configurable | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| String.raw | Pris en charge | Non pris en charge |
| Chaîne.fromCodePoint | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Chaîne.prototype.codePointAt | Pris en charge | Pris en charge |
| chaîne.prototype.normaliser | Pris en charge | Pris en charge |
| chaîne.prototype.répétition | Pris en charge | Pris en charge |
| chaîne.prototype.startsWith | Pris en charge | Pris en charge |
| String.prototype.startsWith jette sur RegExp | Non pris en charge | Non pris en charge |
| chaîne.prototype.endsWith | Pris en charge | Pris en charge |
| String.prototype.endsWith jette sur RegExp | Non pris en charge | Non pris en charge |
| chaîne.prototype.includes | Pris en charge | Pris en charge |
| chaîne.prototype[symbole.itérateur] | Pris en charge | Non pris en charge |
| Chaîne de prototype d’itérateur de chaîne | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| RegExp.prototype.flags | Pris en charge | Non pris en charge |
| RegExp.prototype[Symbol.match] | Non pris en charge | Non pris en charge |
| RegExp.prototype[Symbol.replace] | Pris en charge | Non pris en charge |
| RegExp.prototype[Symbol.split] | Pris en charge | Non pris en charge |
| RegExp.prototype[Symbol.search] | Non pris en charge | Non pris en charge |
| RegExp[Symbol.species] | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Array.from, objets de type tableau | Pris en charge | Non pris en charge |
| Array.from, instances de générateur | Rejeté | Rejeté |
| Array.from, itérables génériques | Pris en charge | Non pris en charge |
| Array.from, instances d’itérables génériques | Pris en charge | Non pris en charge |
| Fonction de carte Array.from, objets de type tableau | Pris en charge | Non pris en charge |
| Fonction de carte Array.from, instances de générateur | Rejeté | Rejeté |
| Fonction de carte Array.from, itérables génériques | Pris en charge | Non pris en charge |
| Array.from map, instances d’itérables | Pris en charge | Non pris en charge |
| Array.from, fermeture de l’itérateur | Pris en charge | Non pris en charge |
| Tableau.of | Pris en charge | Non pris en charge |
| Tableau[Symbol.species] | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Array.prototype.copyWithin | Pris en charge | Non pris en charge |
| Tableau.prototype.find | Pris en charge | Non pris en charge |
| Tableau.prototype.findIndex | Pris en charge | Non pris en charge |
| Tableau.prototype.remplissage | Pris en charge | Non pris en charge |
| Tableau.prototype.clés | Pris en charge | Non pris en charge |
| Tableau.prototype.valeurs | Pris en charge | Non pris en charge |
| Tableau.prototype.entrées | Pris en charge | Non pris en charge |
| Array.prototype[Symbol.iterator] | Pris en charge | Non pris en charge |
| Chaîne de prototype d’itérateur de tableau | Pris en charge | Non pris en charge |
| Array.prototype[Symbol.unscopables] | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Nombre.EstFini | Pris en charge | Non pris en charge |
| Nombre.isEntier | Pris en charge | Non pris en charge |
| Nombre.isSafeInteger | Pris en charge | Non pris en charge |
| Nombre.isNaN | Pris en charge | Non pris en charge |
| Nombre.parseFloat | Rejeté | Rejeté |
| Nombre.parseInt | Rejeté | Rejeté |
| Nombre.EPSILON | Pris en charge | Non pris en charge |
| Number.MIN_SAFE_INTEGER | Pris en charge | Non pris en charge |
| Number.MAX_ENTIER_SÛR | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Math.clz32 | Pris en charge | Non pris en charge |
| Math.imul | Pris en charge | Non pris en charge |
| Math.sign | Pris en charge | Non pris en charge |
| Math.log10 | Pris en charge | Non pris en charge |
| Math.log2 | Pris en charge | Non pris en charge |
| Math.log1p | Pris en charge | Non pris en charge |
| Math.expm1 | Pris en charge | Non pris en charge |
| Math.cosh | Pris en charge | Non pris en charge |
| Math.sinh | Pris en charge | Non pris en charge |
| Math.tanh | Pris en charge | Non pris en charge |
| Math.acosh | Pris en charge | Non pris en charge |
| Math.asinh | Pris en charge | Non pris en charge |
| Math.atanh | Pris en charge | Non pris en charge |
| Math.trunc | Pris en charge | Non pris en charge |
| Math.fround | Pris en charge | Non pris en charge |
| Math.cbrt | Pris en charge | Non pris en charge |
| Math.hypot | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Date.prototype[Symbole.àPrimitif] | Pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Propriété length (accès) | Rejeté | Rejeté |
| Propriété length (paramètre) | Rejeté | Rejeté |
| Chaîne de prototypage correcte | Rejeté | Rejeté |
| Prise en charge d’Array.isArray | Rejeté | Rejeté |
| tableau.prototype.concat | Rejeté | Rejeté |
| Tableau.prototype.filter | Rejeté | Rejeté |
| Tableau.prototype.map | Rejeté | Rejeté |
| tableau.prototype.tranche | Rejeté | Rejeté |
| Tableau.prototype.épissure | Rejeté | Rejeté |
| Tableau.from | Rejeté | Rejeté |
| Tableau.of | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Rejeté | Rejeté |
| Chaîne de prototypage correcte | Rejeté | Rejeté |
| RegExp.prototype.exec | Rejeté | Rejeté |
| RegExp.prototype.test | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| peut être appelé | Rejeté | Rejeté |
| Chaîne de prototypage correcte | Rejeté | Rejeté |
| Peut être utilisé avec « new » | Rejeté | Rejeté |
| Fonction.prototype.appel | Rejeté | Rejeté |
| Fonction.prototype.appliquer | Rejeté | Rejeté |
| Fonction.prototype.bind | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Rejeté | Rejeté |
| Chaîne de prototypage correcte | Rejeté | Rejeté |
| Promesse.all | Rejeté | Rejeté |
| Promis.race | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Le booléen est une sous-classe | Rejeté | Rejeté |
| Le nombre peut faire l’objet d’une sous-classe | Rejeté | Rejeté |
| La chaîne peut être sous-classable | Rejeté | Rejeté |
| L’erreur peut faire l’objet d’une sous-classe | Rejeté | Rejeté |
| La carte est sous-classable | Rejeté | Rejeté |
| L’ensemble est sous-classable | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctions de base | Rejeté | Rejeté |
| Fonctions du générateur | Rejeté | Rejeté |
| Fonctions fléchées | Rejeté | Rejeté |
| Classes | Rejeté | Rejeté |
| Sous-classes | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| À Primitif | Rejeté | Rejeté |
| CreateListFromArrayLike | Rejeté | Rejeté |
| Opérateur instanceof | Rejeté | Rejeté |
| HasBinding (Liaison has) | Rejeté | Rejeté |
| CreateDynamicFunction | Rejeté | Rejeté |
| Évaluation de définition de classe | Rejeté | Rejeté |
| IteratorComplete, IteratorValue | Rejeté | Rejeté |
| ToPropertyDescriptor | Rejeté | Rejeté |
| Objet.assign | Rejeté | Rejeté |
| Objet.definePropriétés | Rejeté | Rejeté |
| Fonction.prototype.bind | Rejeté | Rejeté |
| Erreur.prototype.àChaîne | Rejeté | Rejeté |
| String.raw | Rejeté | Rejeté |
| Constructeur RegExp | Rejeté | Rejeté |
| RegExp.prototype.flags | Rejeté | Rejeté |
| RegExp.prototype.test | Rejeté | Rejeté |
| RegExp.prototype.toString | Rejeté | Rejeté |
| RegExp.prototype[Symbol.match] | Rejeté | Rejeté |
| RegExp.prototype[Symbol.replace] | Rejeté | Rejeté |
| RegExp.prototype[Symbol.search] | Rejeté | Rejeté |
| RegExp.prototype[Symbol.split] | Rejeté | Rejeté |
| Tableau.from | Rejeté | Rejeté |
| tableau.prototype.concat | Rejeté | Rejeté |
| Méthodes d’itération Array.prototype | Rejeté | Rejeté |
| Tableau.prototype.pop | Rejeté | Rejeté |
| Tableau.prototype.reverse | Rejeté | Rejeté |
| Tableau.prototype.shift | Rejeté | Rejeté |
| Tableau.prototype.épissure | Rejeté | Rejeté |
| Tableau.prototype.àChaîne | Rejeté | Rejeté |
| JSON.stringify | Rejeté | Rejeté |
| Fonctions de résolution de promesse | Rejeté | Rejeté |
| chaîne.prototype.match | Rejeté | Rejeté |
| chaîne.prototype.remplacer | Rejeté | Rejeté |
| chaîne.prototype.search | Rejeté | Rejeté |
| chaîne.prototype.split | Rejeté | Rejeté |
| Date.prototype.toJSON | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Objet.assign | Rejeté | Rejeté |
| Tableau.from | Rejeté | Rejeté |
| Tableau.of | Rejeté | Rejeté |
| Array.prototype.copyWithin | Rejeté | Rejeté |
| Tableau.prototype.remplissage | Rejeté | Rejeté |
| Tableau.prototype.pop | Rejeté | Rejeté |
| Tableau.prototype.push | Rejeté | Rejeté |
| Tableau.prototype.reverse | Rejeté | Rejeté |
| Tableau.prototype.shift | Rejeté | Rejeté |
| Tableau.prototype.épissure | Rejeté | Rejeté |
| Tableau.prototype.unshift | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| [[Ensemble]] | Rejeté | Rejeté |
| Définir le niveau d’intégrité | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Array.prototype.copyWithin | Rejeté | Rejeté |
| Tableau.prototype.pop | Rejeté | Rejeté |
| Tableau.prototype.reverse | Rejeté | Rejeté |
| Tableau.prototype.shift | Rejeté | Rejeté |
| Tableau.prototype.épissure | Rejeté | Rejeté |
| Tableau.prototype.unshift | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| [[Ensemble]] | Rejeté | Rejeté |
| Objet.assign | Rejeté | Rejeté |
| Objet.prototype.hasOwnProperty | Rejeté | Rejeté |
| Fonction.prototype.bind | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Définir le niveau d’intégrité | Rejeté | Rejeté |
| TestIntegrityLevel (Niveau d’intégrité test) | Rejeté | Rejeté |
| SerializeJSONObject | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Objet.getPrototypeOf | Rejeté | Rejeté |
| Object.getOwnPropertyDescriptor | Rejeté | Rejeté |
| Object.getOwnPropertyNames | Rejeté | Rejeté |
| Object.seal (sceau d’objet) | Rejeté | Rejeté |
| Object.freeze | Rejeté | Rejeté |
| Object.preventExtensions | Rejeté | Rejeté |
| Objet.IsSealed | Rejeté | Rejeté |
| Objet.isFrozen | Rejeté | Rejeté |
| Objet.isExtensible | Rejeté | Rejeté |
| Touches objet.clé | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Touches objet.clé | Rejeté | Rejeté |
| Object.getOwnPropertyNames | Rejeté | Rejeté |
| Objet.assign | Rejeté | Rejeté |
| JSON.stringify | Rejeté | Rejeté |
| JSON.parse | Rejeté | Rejeté |
| Reflect.ownKeys, ordre des clés de chaîne | Rejeté | Rejeté |
| Reflect.ownKeys, ordre des clés de symbole | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| var â ̧ ̄ ; | Rejeté | Rejeté |
| var ð ‹€ ; | Rejeté | Rejeté |
| Pas de mots réservés dans une séquence d’échappement en tant qu’identificateurs | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| déclaration de fonction au niveau du bloc hissé | Rejeté | Rejeté |
| Instructions de fonction étiquetées | Rejeté | Rejeté |
| Instructions de fonction dans les clauses if-statement | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Support de base | Rejeté | Rejeté |
| plusieurs __proto__ sont une erreur | Rejeté | Rejeté |
| n’est pas une propriété calculée | Rejeté | Rejeté |
| Il ne s’agit pas d’une propriété abrégée | Rejeté | Rejeté |
| Il ne s’agit pas d’une méthode abrégée | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Obtenir un prototype | Rejeté | Rejeté |
| Définir le prototype | Rejeté | Rejeté |
| absent de Object.create(null) | Rejeté | Rejeté |
| présent dans hasOwnProperty() | Rejeté | Rejeté |
| Descripteur de propriété correct | Rejeté | Rejeté |
| présent dans Object.getOwnPropertyNames() | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Existence | Rejeté | Rejeté |
| Les noms des balises sont en minuscules | Rejeté | Rejeté |
| les guillemets dans les arguments sont échappés | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonctionnalités de base | Rejeté | Rejeté |
| renvoie ceci | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Tirets dans les jeux de caractères | Rejeté | Rejeté |
| caractères d’échappement non valides | Rejeté | Rejeté |
| caractères de contrôle d’échappement non valides | Rejeté | Rejeté |
| Échappement Unicode non valide | Rejeté | Rejeté |
| Caractères d’échappement hexadécimaux non valides | Rejeté | Rejeté |
| Modèles et quantificateurs incomplets | Rejeté | Rejeté |
| Séquences d’échappement octal | Rejeté | Rejeté |
| Les références arrières non valides deviennent des caractères d’échappement octals | Rejeté | Rejeté |
Caractéristiques d’ECMAScript 2009 (ES5)
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Accesseurs getter | Pris en charge | Pris en charge |
| Accesseurs de création | Pris en charge | Pris en charge |
| Virgules de fin dans les littéraux d’objets | Pris en charge | Pris en charge |
| Virgules de fin dans les littéraux du tableau | Pris en charge | Pris en charge |
| Mots réservés en tant que noms de propriété | Pris en charge | Pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Objet.créer | Pris en charge | Pris en charge |
| Objet.defineProperty | Pris en charge | Pris en charge |
| Objet.definePropriétés | Pris en charge | Pris en charge |
| Objet.getPrototypeOf | Pris en charge | Pris en charge |
| Touches objet.clé | Pris en charge | Pris en charge |
| Object.seal (sceau d’objet) | Pris en charge | Pris en charge |
| Object.freeze | Pris en charge | Pris en charge |
| Object.preventExtensions | Pris en charge | Pris en charge |
| Objet.IsSealed | Pris en charge | Pris en charge |
| Objet.isFrozen | Pris en charge | Pris en charge |
| Objet.isExtensible | Pris en charge | Pris en charge |
| Object.getOwnPropertyDescriptor | Pris en charge | Pris en charge |
| Object.getOwnPropertyNames | Pris en charge | Pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Tableau.isArray | Pris en charge | Pris en charge |
| Tableau.prototype.indexOf | Pris en charge | Pris en charge |
| Tableau.prototype.lastIndexOf | Pris en charge | Pris en charge |
| Tableau.prototype.every | Pris en charge | Pris en charge |
| Tableau.prototype.some | Pris en charge | Pris en charge |
| Tableau.prototype.pourChaque | Pris en charge | Pris en charge |
| Tableau.prototype.map | Pris en charge | Pris en charge |
| Tableau.prototype.filter | Pris en charge | Pris en charge |
| Tableau.prototype.reduce | Pris en charge | Pris en charge |
| Tableau.prototype.réduireDroit | Pris en charge | Pris en charge |
| Array.prototype.sort : compareFn doit être fonction ou non défini | Non pris en charge | Non pris en charge |
| Array.prototype.sort : compareFn peut être explicite non défini | Pris en charge | Pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Accès à la propriété sur les chaînes | Pris en charge | Pris en charge |
| chaîne.prototype.split | Pris en charge | Non pris en charge |
| chaîne.prototype.trim | Pris en charge | Pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Date.prototype.àISOString | Pris en charge | Pris en charge |
| Date.now | Pris en charge | Pris en charge |
| Date.prototype.toJSON | Non pris en charge | Non pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| non défini | Soutenu | Pris en charge |
| Nan | Soutenu | Pris en charge |
| Infini | Soutenu | Pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Nombre.prototype.àExponentiel s’arrondit correctement | Pris en charge | Pris en charge |
| Nombre.prototype.àExponentiel jette sur ±Infinity fractionDigits | Pris en charge | Pris en charge |
| Number.prototype.toExponential ne lance pas sur les cas limites | Pris en charge | Pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Mots réservés | Rejeté | Rejeté |
| « this » n’est pas défini dans les fonctions | Rejeté | Rejeté |
| « ceci » n’est pas contraint de s’opposer dans les méthodes primitives | Rejeté | Rejeté |
| « ceci » n’est pas contraint de s’opposer chez les accesseurs primitifs | Rejeté | Rejeté |
| l’octal hérité est une erreur de syntaxe. | Rejeté | Rejeté |
| l’affectation à des identificateurs non résolus est une ReferenceError | Rejeté | Rejeté |
| l’affectation à eval ou arguments est une SyntaxError | Rejeté | Rejeté |
| l’affectation à des propriétés non accessibles en écriture est un TypeError | Rejeté | Rejeté |
| eval ou les liaisons d’arguments est une SyntaxError | Rejeté | Rejeté |
| arguments.caller supprimé ou est une TypeError | Rejeté | Rejeté |
| arguments.callee est un TypeError | Rejeté | Rejeté |
| (function(){}).caller et (function(){}).arguments est un TypeError | Rejeté | Rejeté |
| arguments n’est pas mappé | Rejeté | Rejeté |
| eval() ne peut pas créer de liaisons | Rejeté | Rejeté |
| la suppression des liaisons est une SyntaxError | Rejeté | Rejeté |
| la suppression des propriétés non configurables est une TypeError | Rejeté | Rejeté |
| « with » est une erreur de syntaxe | Rejeté | Rejeté |
| noms de paramètres répétés est une erreur de syntaxe | Rejeté | Rejeté |
| Les expressions de fonction avec un nom et un argument correspondants sont valides | Rejeté | Rejeté |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| Fonction.prototype.bind | Pris en charge | Pris en charge |
| Fonctionnalité | ECMAScript 2021 (ES12) | Normes ES5 |
|---|---|---|
| JSON | Pris en charge | Pris en charge |