ECMAScript 2021
Numéro de version JavaScript
Les anciennes versions de JS sont nommées par numéros : ES5 (2009) et ES6 (2015).
Depuis 2016, les versions sont nommées par années : ECMAScript 2016, 2017, 2018, 2019, ...
Nouvelles caractéristiques
Nouvelles caractéristiques dans ES2021 :
- Promise.any()
- Méthode de chaîne replaceAll()
- Séparateur de nombre (_)
Nouvelles caractéristiques dans ES2022 :
- Méthode de tableau at()
- Méthode de chaîne at()
- Expression régulière /d
- Object.hasOwn()
- error.cause
- await import
- Méthodes et champs privés
- Déclaration de champ de classe
Avis
Ces caractéristiques sont relativement nouvelles.
Les navigateurs plus anciens peuvent nécessiter un code de remplacement (Polyfill)
Méthode ReplaceAll() de la chaîne JavaScript
ES2021 a introduit la méthode de chaîne replaceAll() :
Exemple
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
La méthode replaceAll() vous permet de spécifier une expression régulière plutôt qu'une chaîne de caractères à remplacer.
Si le paramètre est une expression régulière, il est nécessaire de définir le drapeau global (g
) Sinon cela lève une erreur TypeError.
Exemple
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
Conseil :ES2020 La méthode de chaîne matchAll() a été introduite.
Tirets de séparation des nombres JavaScript
ES2021 a introduit les tirets de séparation des nombres (_
) pour rendre les nombres plus lisibles :
Exemple
const num = 1_000_000_000;
Les tirets de séparation des nombres ne sont utilisés que pour des raisons visuelles.
Exemple
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Les tirets de séparation des nombres peuvent être placés à n'importe quel endroit dans un nombre :
Exemple
const num1 = 1_2_3_4_5;
Remarque
Les tirets de séparation des nombres ne peuvent pas apparaître au début ou à la fin d'un nombre.
Dans JavaScript, il n'y a queVariableIl peut commencer par _.
Depuis janvier 2020, tous les navigateurs modernes prennent en charge les tirets de séparation des nombres :
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Juin 2019 | Janvier 2020 | Octobre 2019 | Septembre 2019 | Juin 2019 |