ECMAScript 2020

JavaScript-versionnummer

Gamla JS-versioner har fått namn efter nummer: ES5 (2009) och ES6 (2015).

Från och med 2016 har versionerna fått namn efter årtal: ECMAScript 2016, 2017, 2018, 2019,...

Nya funktioner i ES2020:

Varning

Dessa egenskaper är relativt nya.

Äldre webbläsare kan behöva ersättningskod (Polyfill).

JavaScript BigInt

JavaScript BigInt-variabler används för att lagra stora heltalsvärden som inte kan representeras med vanliga JavaScript-nummer.

JavaScript-heltal kan endast vara exakta upp till 15 siffror.

Integer-instans

let x = 999999999999999;
let y = 9999999999999999; // För stort

Prova själv

BigInt-instans

let x = 9999999999999999;
let y = 9999999999999999n;

Prova själv

För att skapa ett BigInt, använd n Lägg till till slutet av ett heltal eller anropa BigInt():

Exempel

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

Prova själv

JavaScript-typen för BigInt är "bigint":

Exempel

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

Prova själv

Sedan september 2020 har alla moderna webbläsare stöd för BigInt:

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

JavaScript-strängmetod matchAll()

Innan ES2020 fanns det inga strängmetoder som kunde användas för att söka efter alla förekomster av en sträng i en sträng.

Exempel

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

Prova själv

Om parametern är ett reguljärt uttryck, måste du ställa in flaggan global (g) annars kommer det att kasta ett TypeError.

Exempel

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

Prova själv

Om du vill genomföra en sökning utan att ta hänsyn till storlek på bokstäverna, måste du ställa in flaggan för att inte ta hänsyn till storlek på bokstäverna (i)

Exempel

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

Prova själv

Tips:ES2021 Introducerade strängmetoden replaceAll().

Tom värde sammanslagningsoperator (Nullish Coalescing Operator) (?? operator)

om den första parametern inte är en tom värde (null eller undefined?? Operator returnerar den första parametern.

annars returnera den andra.

Exempel

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

Prova själv

Sedan mars 2020 har alla moderna webbläsare stöttat nullish operatorer:

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

Valfritt anslutningsoperator (Optional Chaining Operator) (?. operator)

om objektet är undefined eller nullValfritt anslutningsoperatorReturnerar undefined(istället för att kasta ett fel).

Exempel

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

Prova själv

Sedan mars 2020 har alla moderna webbläsare stöttat ?.= Operator:

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

Logisk AND-tilldelningsoperator (&&=-operator)

Logisk AND tilldelningsoperatoranvänds mellan två värden.

om den första värdet är trueom den första värdet är null eller undefined, tilldelas den andra värdet.

Logisk AND tilldelningsoperator exemplar

let x = 100;
x &&= 5;

Prova själv

Alla moderna webbläsare har stöttat sedan september 2020 &&= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Augusti 2020 Augusti 2020 Mars 2020 September 2020 September 2020

Logisk OR tilldelningsoperator (||= operator)

Logisk OR tilldelningsoperatoranvänds mellan två värden.

om den första värdet är falseom den första värdet är null eller undefined, tilldelas den andra värdet.

Logisk OR tilldelningsoperator exemplar

let x = 10;
x ||= 5;

Prova själv

Alla moderna webbläsare har stöttat sedan september 2020 ||= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Augusti 2020 Augusti 2020 Mars 2020 September 2020 September 2020

Tom-värde-kombinerings tilldelningsoperator(??=-operator)

Tom-värde-kombinerings tilldelningsoperator(Nullish Coalescing Assignment Operator)används mellan två värden.

om den första värdet undefined eller nullom den första värdet är null eller undefined, tilldelas den andra värdet.

Tom-värde-kombinerings tilldelningsoperator-exempel

let x = 10;
x ??= 5;

Prova själv

Alla moderna webbläsare har stöttat sedan september 2020 ??= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Augusti 2020 Augusti 2020 Mars 2020 September 2020 September 2020