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:

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");

Prova själv

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");

Prova själv

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;

Prova själv

Numeriska separerare används endast för visuell användning.

Exempel

const num1 = 1_000_000_000;
const num2 = 1000000000;
(num1 === num2);

Prova själv

Numeriska separerare kan placeras på vilket som helst ställe i ett nummer:

Exempel

const num1 = 1_2_3_4_5;

Prova själv

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