ECMAScript 2021
JavaScript versionsnummer
Gamla JS-versioner namnges efter nummer: ES5 (2009) och ES6 (2015).
Från och med 2016 har versionerna namngivits efter år: ECMAScript 2016, 2017, 2018, 2019,...
Nya egenskaper
Nya egenskaper i ES2021:
- Promise.any()
- Strängmetod replaceAll()
- Numeriska avskiljare (_)
Nya egenskaper i ES2022:
- Arraymetod at()
- Strängmetod at()
- Reguljärt uttryck /d
- Object.hasOwn()
- error.cause
- await import
- Privata metoder och fält
- Klassfältdeklaration
Varning
Dessa egenskaper är relativt nya.
Äldre webbläsare kan behöva ersättningskod (Polyfill)
JavaScript strängmetod ReplaceAll()
ES2021 introducerade strängmetoden replaceAll():
Exempel
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
replaceAll() metoden låter dig specificera ett reguljärt uttryck istället för en sträng att ersätta.
Om parametern är ett reguljärt uttryck måste global flagga (g
) annars kommer det att kasta ett TypeError.
Exempel
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
Tips:ES2020 Introducerade strängmetoden matchAll().
JavaScript-nummerseparerare (_)
ES2021 introducerade numeriska separerare (_
) för att göra numret mer lättläst:
Exempel
const num = 1_000_000_000;
Numeriska separerare används endast för visuell användning.
Exempel
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Numeriska separerare kan placeras på vilket som helst ställe i ett nummer:
Exempel
const num1 = 1_2_3_4_5;
Observera
Numeriska separerare får inte finnas vid början eller slutet av ett nummer.
I JavaScript finns det baraVariabelkan börja med en understrecksymbol _.
Sedan januari 2020 har alla moderna webbläsare stödjat numeriska separerare:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Juni 2019 | Januari 2020 | Oktober 2019 | September 2019 | Juni 2019 |