ECMAScript 2020

JavaScript versienummer

Oude JS-versies worden genaamd naar nummer: ES5 (2009) en ES6 (2015).

Sinds 2016 worden versies genaamd naar jaar: ECMAScript 2016, 2017, 2018, 2019, ...

Nieuwe kenmerken in ES2020:

Waarschuwing

Deze kenmerken zijn relatief nieuw.

Oudere browsers kunnen een alternatieve code (Polyfill) nodig hebben.

JavaScript BigInt

JavaScript BigInt-variabelen worden gebruikt om heel getallen op te slaan die te groot zijn om met gewone JavaScript-getallen te representeren.

JavaScript gehele getallen kunnen maximaal 15 cijfers nauwkeurig zijn.

Integer instantie

let x = 999999999999999;
let y = 9999999999999999; // Te groot

Probeer het zelf uit

BigInt instantie

let x = 9999999999999999;
let y = 9999999999999999n;

Probeer het zelf uit

Om BigInt te maken, voeg n voeg toe aan het einde van een heel getal of roep BigInt() aan:

Voorbeeld

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345);

Probeer het zelf uit

De JavaScript-typ van BigInt is "bigint":

Voorbeeld

let x = BigInt(999999999999999);
let type = typeof x;

Probeer het zelf uit

Sinds september 2020 ondersteunen alle moderne browsers BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
Mei 2018 Januari 2020 Juli 2019 September 2020 Juni 2018

JavaScript String Methode matchAll()

Voor ES2020 was er geen stringmethode beschikbaar om alle optredens van een string in een andere string te zoeken.

Voorbeeld

const iterator = text.matchAll("Cats");

Probeer het zelf uit

Als het argument een reguliere expressie is, moet je het globale kenmerk instellen (g) anders wordt een TypeError gegooid.

Voorbeeld

const iterator = text.matchAll(/Cats/g);

Probeer het zelf uit

Als je een niet-gematigde zoekopdracht wilt uitvoeren, moet je het niet-gematigde schrijfkenmerk instellen (i):

Voorbeeld

const iterator = text.matchAll(/Cats/gi);

Probeer het zelf uit

Tip:ES2021 De stringmethode replaceAll() is geïntroduceerd.

Lege waarde samenvoeging operator (Nullish Coalescing Operator) (?? operator)

als de eerste parameter geen lege waarde is (null of undefineddan ?? De operator retourneert de eerste parameter.

anders retourneert de tweede.

Voorbeeld

let name = null;
let text = "missing";
let result = name ?? text;

Probeer het zelf uit

Sinds maart 2020 ondersteunen alle moderne browsers de nullish operator:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
Februari 2020 Februari 2020 Januari 2020 Maart 2020 Maart 2020

Optionele ketteling operator (Optional Chaining Operator) (?. operator)

als het object undefined of nulldanOptionele ketteling operatorRetourneert undefined(in plaats van een fout te gooien).

Voorbeeld

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;

Probeer het zelf uit

Sinds maart 2020 ondersteunen alle moderne browsers dit: ?.= Operator:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
Februari 2020 Februari 2020 Maart 2020 Maart 2020 Maart 2020

Logisch AND Toewijzingsoperator (&&= Operator)

Logische AND toewijzing operatortussen twee waarden.

als de eerste waarde truewordt de tweede waarde toegewezen.

Logische AND toewijzing voorbeeld

let x = 100;
x &&= 5;

Probeer het zelf uit

Sinds september 2020 ondersteunen alle moderne browsers dit. &&= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Augustus 2020 Augustus 2020 Maart 2020 September 2020 September 2020

Logische OR toewijzing operator (||= operator)

Logische OR toewijzing operatortussen twee waarden.

als de eerste waarde falsewordt de tweede waarde toegewezen.

Logische OR toewijzing voorbeeld

let x = 10;
x ||= 5;

Probeer het zelf uit

Sinds september 2020 ondersteunen alle moderne browsers dit. ||= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Augustus 2020 Augustus 2020 Maart 2020 September 2020 September 2020

Nullwaarde Samenvoegings Toewijzingsoperator (??= Operator)

Nullwaarde Samenvoegings Toewijzingsoperator(Nullish Coalescing Assignment Operator) wordt gebruikt tussen twee waarden.

als de eerste waarde undefined of nullwordt de tweede waarde toegewezen.

Voorbeeld van Nullwaarde Samenvoegings Toewijzingsoperator

let x = 10;
x ??= 5;

Probeer het zelf uit

Sinds september 2020 ondersteunen alle moderne browsers dit. ??= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Augustus 2020 Augustus 2020 Maart 2020 September 2020 September 2020