ECMAScript 2021

JavaScript versienummer

Oude JS-versions worden genummerd: ES5 (2009) en ES6 (2015).

Sinds 2016 worden versies per jaar genoemd: ECMAScript 2016, 2017, 2018, 2019, ...

Nieuwe kenmerken

Nieuwe kenmerken in ES2021:

Nieuwe kenmerken in ES2022:

  • Arraymethode at()
  • Stringmethode at()
  • Reguliere expressie /d
  • Object.hasOwn()
  • error.cause
  • await import
  • Privémethoden en velden
  • Klasvelden

Waarschuwing

Deze kenmerken zijn relatief nieuw.

Oudere browsers vereisen mogelijk alternatieve code (Polyfill)

JavaScript stringmethode ReplaceAll()

ES2021 heeft de stringmethode replaceAll() geïntroduceerd:

Voorbeeld

text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");

Probeer het zelf

De replaceAll() methode staat u toe om een reguliere expressie in te stellen in plaats van een te vervangen string.

Als het argument een reguliere expressie is, moet het globale teken ingesteld zijn (g) anders wordt een TypeError gegooid.

Voorbeeld

text = text.replaceAll(/Cats/g,"Dogs");
text = text.replaceAll(/cats/g,"dogs");

Probeer het zelf

Tip:ES2020 De stringmethode matchAll() is geïntroduceerd.

JavaScript Digitale scheidingstekens (_)

ES2021 heeft digitale scheidingstekens geïntroduceerd (_) om cijfers leesbaarder te maken:

Voorbeeld

const num = 1_000_000_000;

Probeer het zelf

Digitale scheidingstekens zijn uitsluitend visueel.

Voorbeeld

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

Probeer het zelf

Digitale scheidingstekens kunnen op elke positie in een getal worden geplaatst:

Voorbeeld

const num1 = 1_2_3_4_5;

Probeer het zelf

Opmerking

Digitale scheidingstekens mogen niet aan het begin of einde van een getal voorkomen.

In JavaScript is er alleenVariabeleKunnen beginnen met _.

Sinds januari 2020 ondersteunen alle moderne browsers digitale scheidingstekens:

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