ECMAScript 2021
JavaScript-Versionen
Alte JS-Versionen werden numerisch benannt: ES5 (2009) und ES6 (2015).
Ab 2016 werden Versionen nach Jahren benannt: ECMAScript 2016, 2017, 2018, 2019, ...
Neue Eigenschaften
Neue Eigenschaften in ES2021:
- Promise.any()
- String-Methode replaceAll()
- Zahlen-Trennzeichen (_)
Neue Eigenschaften in ES2022:
- Array-Methode at()
- String-Methode at()
- Regulärer Ausdruck /d
- Object.hasOwn()
- error.cause
- await import
- Private Methoden und Felder
- Klassische Felder
Warnung
Diese Eigenschaften sind relativ neu.
Ältere Browser benötigen möglicherweise eine alternative Code (Polyfill) Lösung.
JavaScript String-Methode ReplaceAll()
ES2021 hat die String-Methode replaceAll() eingeführt:
Beispiel
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
Die Methode replaceAll() ermöglicht es Ihnen, ein reguläres Ausdruck anstatt eines zu ersetzen Strings zu spezifizieren.
Wenn der Parameter ein reguläres Ausdruck ist, muss das globale Zeichen (global flag) gesetzt werden (g
) sonst wird ein TypeError ausgelöst.
Beispiel
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
Hinweis:ES2020 hat die String-Methode matchAll() eingeführt.
JavaScript-Numerische Trennzeichen (_)
ES2021 hat numerische Trennzeichen eingeführt (_
) um die Lesbarkeit der Zahl zu verbessern:
Beispiel
const num = 1_000_000_000;
Numerische Trennzeichen dienen nur zur visuellen Verwendung.
Beispiel
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Numerische Trennzeichen können an jeder Stelle in einer Zahl platziert werden:
Beispiel
const num1 = 1_2_3_4_5;
Achtung
Numerische Trennzeichen dürfen nicht am Anfang oder am Ende einer Zahl vorkommen.
In JavaScript gibt es nurVariablekönnen mit einem Unterstrich beginnen.
Seit Januar 2020 unterstützen alle modernen Browser numerische Trennzeichen:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Juni 2019 | Januar 2020 | Oktober 2019 | September 2019 | Juni 2019 |