ECMAScript 2020

JavaScript-versionnummer

Gamle JS-versioner er navngivet efter numre: ES5 (2009) og ES6 (2015).

Fra 2016 har versioner været navngivet efter år: ECMAScript 2016, 2017, 2018, 2019, ...

Nye funktioner i ES2020:

Advarsel

Disse funktioner er relativt nye.

Ældre browsere kan kræve erstatningskode (Polyfill).

JavaScript BigInt

JavaScript BigInt-variabler bruges til at gemme store heltalsværdier, der er for store til at kunne representeres med almindelige JavaScript-tal.

JavaScript-integers kan maksimalt være præcise til 15 cifre.

Integer-instans

let x = 999999999999999;
let y = 9999999999999999; // For stor

Prøv det selv

BigInt-instans

let x = 9999999999999999;
let y = 9999999999999999n;

Prøv det selv

For at oprette BigInt, skal du sætte n Tilføj til整数ens ende eller kald BigInt():

eksempel

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

Prøv det selv

BigInt's JavaScript-type er "bigint":

eksempel

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

Prøv det selv

Siden september 2020 har alle moderne browsere understøttet BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
maj 2018 januar 2020 juli 2019 September 2020 juni 2018

JavaScript string-metode matchAll()

Før ES2020 var der ingen stringmetoder tilgængelige til at søge efter alle forekomster af en streng i en streng.

eksempel

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

Prøv det selv

Hvis parameteren er en regulær udtryk, skal du sætte det globale flag (g) ellers vil det kaste en TypeError.

eksempel

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

Prøv det selv

Hvis du vil udføre en søgning uden at tage højde for store og små bogstaver, skal du sætte flaget uden at tage højde for store og små bogstaver (i):

eksempel

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

Prøv det selv

Advarsel:ES2021 introducerede stringmetoden replaceAll().

Tom værdi sammenfaldningsoperator (Tom værdi sammenfaldningsoperator (?? operator))

hvis den første parameter ikke er en tom værdi (null eller undefined?? operatoren returnerer den første parameter.

ellers returnerer den anden.

eksempel

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

Prøv det selv

Siden marts 2020 har alle moderne browsere understøttet nullish operatorer:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
februar 2020 februar 2020 januar 2020 Marts 2020 Marts 2020

valgfri kædeoperator (Valgfri Kædeoperator (?. operator))

hvis objektet er undefined eller nullvalgfri kædeoperatorreturnerer undefinedi stedet for at kaste en fejl).

eksempel

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

Prøv det selv

Siden marts 2020 har alle moderne browsere understøttet ?.= Operator:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
februar 2020 februar 2020 Marts 2020 Marts 2020 Marts 2020

Logisk AND tildeling operator (&&= operator)

Logisk AND tildelingoperatorbrugt mellem to værdier.

hvis den første værdien er trueog tildel den anden værdi.

Logisk AND tildelingseksempel

let x = 100;
x &&= 5;

Prøv det selv

Siden september 2020 har alle moderne browsere understøttet &&= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
August 2020 August 2020 Marts 2020 September 2020 September 2020

Logisk OR tildelingoperator (||= operator)

Logisk OR tildelingoperatorbrugt mellem to værdier.

hvis den første værdien er falseog tildel den anden værdi.

Logisk OR tildelingseksempel

let x = 10;
x ||= 5;

Prøv det selv

Siden september 2020 har alle moderne browsere understøttet ||= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
August 2020 August 2020 Marts 2020 September 2020 September 2020

Tom værdi sammenføjnings tildeling operator(??= operator)

Tom værdi sammenføjnings tildeling operator(Nullish Coalescing Assignment Operator)bruges mellem to værdier.

hvis den første værdi undefined eller nullog tildel den anden værdi.

Tom værdi sammenføjnings tildeling eksempel

let x = 10;
x ??= 5;

Prøv det selv

Siden september 2020 har alle moderne browsere understøttet ??= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
August 2020 August 2020 Marts 2020 September 2020 September 2020