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:
- Promise.any()
- Stringmethode replaceAll()
- Numerieke scheidingstekens (_)
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");
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");
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;
Digitale scheidingstekens zijn uitsluitend visueel.
Voorbeeld
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Digitale scheidingstekens kunnen op elke positie in een getal worden geplaatst:
Voorbeeld
const num1 = 1_2_3_4_5;
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 |