Les anciennes versions de JS sont nommées par des numéros : ES5 (2009) et ES6 (2015).
A partir de 2016, les versions sont nommées par année : ECMAScript 2016, 2017, 2018, 2019, ...
Promettez any() :const first=wait Promise.any([prom1,prom2,prom3]);
Chaîne remplacerTout()
Séparateurs numériques (_)
Tableau à()
Chaîne à()
ExpReg /d
Objet.hasOwn()
erreur.cause
attendre l'importation
Méthodes et champs privés
Déclarations de champs de classe
Ces fonctionnalités sont relativement nouvelles.
Les navigateurs plus anciens peuvent avoir besoin d'un code alternatif (Polyfill)
ES2021 a introduit la méthode de chaîne replaceAll() :
text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Strings</h1>
<h2>The replaceAll() Method</h2>
<p>ES2021 intoduced the string method replaceAll().</p>
<p id="demo"></p>
<script>
let text = "I love cats. Cats are very easy to love. Cats are very popular."
text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
La méthode replaceAll() vous permet de spécifier un expression régulière au lieu d’une chaîne à remplacer.
Si le paramètre est une expression régulière, l'indicateur global (g) doit être défini, sinon une TypeError est levée.
text = text.replaceAll(/Cats/g,"Dogs");
text = text.replaceAll(/cats/g,"dogs");Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Strings</h1>
<h2>The replaceAll() Method</h2>
<p>ES2021 intoduced the string method replaceAll().</p>
<p id="demo"></p>
<script>
let text = "I love cats. Cats are very easy to love. Cats are very popular";
text = text.replaceAll(/Cats/g,"Dogs");
text = text.replaceAll(/cats/g,"dogs");
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
ES2020 a introduit la méthode de chaîne matchAll().
ES2021 a introduit le séparateur numérique (_) pour rendre les nombres plus lisibles :
const num = 1_000_000_000;Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Numbers</h1>
<p>ES2021 intoduced the numeric separator (_) to make numbers more readable:</p>
<p id="demo"></p>
<script>
const num = 1_000_000_000;
document.getElementById("demo").innerHTML = num;
</script>
</body>
</html>
Le séparateur numérique est uniquement destiné à un usage visuel.
const num1 = 1_000_000_000;
const num2 = 1000000000;
(num1 === num2); Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Numbers</h1>
<p>ES2021 intoduced the numeric separator (_) to make numbers more readable:</p>
<p>Is 1_000_000_000 the same as 1000000000?</p>
<p id="demo"></p>
<script>
const num1 = 1_000_000_000;
const num2 = 1000000000;
document.getElementById("demo").innerHTML = (num1 === num2);
</script>
</body>
</html>
Le séparateur numérique peut être placé n'importe où dans un nombre :
const num1 = 1_2_3_4_5;Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Numbers</h1>
<p>ES2021 intoduced the numeric separator (_) to make numbers more readable:</p>
<p id="demo"></p>
<script>
const num = 1_2_3_4_5;
document.getElementById("demo").innerHTML = num;
</script>
</body>
</html>
Le séparateur numérique n'est pas autorisé au début ou à la fin d'un nombre.
En JavaScript, seules les variables peuvent commencer par _.
Le séparateur numérique est pris en charge dans tous les navigateurs modernes depuis janvier 2020 :
| Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
| Jun 2019 | Jan 2020 | Oct 2019 | Sep 2019 | Jun 2019 |
at()ES2022 a introduit la méthode tableau at() :
Obtenez le troisième élément des fruits :
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits.at(2);Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The at() Method</h2>
<p>The at() method returns an indexed element from an array:</p>
<p id="demo"></p>
<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits.at(2);
document.getElementById("demo").innerHTML = fruit;
</script>
</body>
</html>
Obtenez le troisième élément des fruits :
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[2];Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>Bracket Notation</h2>
<p>The bracked notation [] returns an indexed element from an array:</p>
<p id="demo"></p>
<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[2];
document.getElementById("demo").innerHTML = fruit;
</script>
</body>
</html>
La méthode at() renvoie un élément indexé d'un tableau.
La méthode at() renvoie la même chose que [].
La méthode at() est prise en charge dans tous les navigateurs modernes depuis mars 2022 :
| Chrome 92 | Edge 92 | Firefox 90 | Safari 15.4 | Opera 78 |
| Apr 2021 | Jul 2021 | Jul 2021 | Mar 2022 | Aug 2021 |
De nombreux langages permettent l'indexation par parenthèses négatives comme [-1] pour accéder aux éléments à partir de la fin d'un objet/tableau/chaîne.
Cela n'est pas possible en JavaScript, car [] est utilisé pour accéder à la fois aux tableaux et aux objets. obj[-1] fait référence à la valeur de la clé -1, pas à la dernière propriété de l'objet.
La méthode at() a été introduite dans ES2022 pour résoudre ce problème.
at()ES2022 a introduit la méthode de chaîne at() :
Obtenez la troisième lettre du nom :
const name = "W3Schools";
let letter = name.at(2);Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Strings</h1>
<h2>The at() Method</h2>
<p>The at() method returns an indexed element from a string:</p>
<p id="demo"></p>
<script>
const name = "W3Schools";
let letter = name.at(2);
document.getElementById("demo").innerHTML = letter;
</script>
</body>
</html>
Obtenez la troisième lettre du nom :
const name = "W3Schools";
let letter = name[2];Essayez-le vous-même →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Strings</h1>
<h2>Bracket Notation</h2>
<p>The bracked notation [] returns an indexed element from a string:</p>
<p id="demo"></p>
<script>
const name = "W3Schools";
let letter = name[2];
document.getElementById("demo").innerHTML = letter;
</script>
</body>
</html>
La méthode at() renvoie un élément indexé à partir d'une chaîne.
La méthode at() renvoie la même chose que [].
La méthode at() est prise en charge dans tous les navigateurs modernes depuis mars 2022 :
| Chrome 92 | Edge 92 | Firefox 90 | Safari 15.4 | Opera 78 |
| Apr 2021 | Jul 2021 | Jul 2021 | Mar 2022 | Aug 2021 |