ECMAScript 2020

JavaScript-Versionen

Alte JS-Versionen werden numerisch benannt: ES5 (2009) und ES6 (2015).

Seit 2016 werden Versionen nach Jahren benannt: ECMAScript 2016, 2017, 2018, 2019, ...

Neue Funktionen in ES2020:

Warnung

Diese Funktionen sind relativ neu.

Ältere Browser benötigen möglicherweise alternativen Code (Polyfill).

JavaScript-BigInt

JavaScript-BigInt-Variablen werden verwendet, um zu große Ganzzahlwerte zu speichern, die nicht mit normalen JavaScript-Zahlen dargestellt werden können.

JavaScript-Ganzzahlen können höchstens 15 Stellen genau sein.

Ganzzahl-Instanz

let x = 999999999999999;
let y = 9999999999999999; // zu groß

Probieren Sie es selbst aus

BigInt-Instanz

let x = 9999999999999999;
let y = 9999999999999999n;

Probieren Sie es selbst aus

Um BigInt zu erstellen, fügen Sie n An das Ende eines Ganzzahlwerts anhängen oder BigInt() aufrufen:

Beispiel

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

Probieren Sie es selbst aus

Der JavaScript-Typ von BigInt ist "bigint":

Beispiel

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

Probieren Sie es selbst aus

Seit September 2020 unterstützen alle modernen Browser BigInt:

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

JavaScript-Stringmethode matchAll()

Vor ES2020 gab es keine Stringmethode, die zur Suche nach allen Vorkommen eines Strings in einer Zeichenkette verwendet werden konnte.

Beispiel

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

Probieren Sie es selbst aus

Wenn der Parameter ein reguläres Ausdruck ist, muss das Flag global gesetzt werden (g) sonst wird TypeError ausgelöst.

Beispiel

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

Probieren Sie es selbst aus

Wenn eine nicht-kaschierte Suche durchgeführt werden soll, muss das Flag case-insensitive gesetzt werden (i)

Beispiel

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

Probieren Sie es selbst aus

Hinweis:ES2021 Der Stringmethode replaceAll() wurde hinzugefügt.

Leerwert Kombinierungsoperator (Nullish Coalescing Operator) (?? Operator)

wenn der erste Parameter kein Leerwert ist (null oder undefined),dann ?? Der Operator gibt den ersten Parameter zurück.

sonst wird der zweite zurückgegeben.

Beispiel

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

Probieren Sie es selbst aus

Seit März 2020 unterstützen alle modernen Browser den Nullish Operator:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
Februar 2020 Februar 2020 Januar 2020 März 2020 März 2020

Optionale Kettungsoperator (Optional Chaining Operator) (?. Operator)

wenn das Objekt undefined oder nulldannOptionale KettungsoperatorRückgabe undefined(statt Fehler auszulösen).

Beispiel

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

Probieren Sie es selbst aus

Seit März 2020 unterstützen alle modernen Browser diesen Operator. ?.= Operator:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
Februar 2020 Februar 2020 März 2020 März 2020 März 2020

logischer AND-Zuweisungsoperator (&&= Operator)

Logischer AND Zuweisungsoperatorwird verwendet, um zwischen zwei Werten zu sein.

Wenn der erste Wert truewird der zweite Wert zugewiesen.

Logischer AND Zuweisungsoperator-Beispiel

let x = 100;
x &&= 5;

Probieren Sie es selbst aus

Seit September 2020 unterstützen alle modernen Browser dies &&= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
August 2020 August 2020 März 2020 September 2020 September 2020

Logischer OR Zuweisungsoperator (||= Operator)

Logischer OR Zuweisungsoperatorwird verwendet, um zwischen zwei Werten zu sein.

Wenn der erste Wert falsewird der zweite Wert zugewiesen.

Logischer OR Zuweisungsoperator-Beispiel

let x = 10;
x ||= 5;

Probieren Sie es selbst aus

Seit September 2020 unterstützen alle modernen Browser dies ||= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
August 2020 August 2020 März 2020 September 2020 September 2020

Leerwert-Kombinationszuweisungsoperator (??= Operator)

Leerwert-Kombinationszuweisungsoperatorwird zwischen zwei Werten verwendet. (Nullish Coalescing Assignment Operator)

wenn der erste Wert undefined oder nullwird der zweite Wert zugewiesen.

Beispiel für Leerwert-Kombinationszuweisungsoperator

let x = 10;
x ??= 5;

Probieren Sie es selbst aus

Seit September 2020 unterstützen alle modernen Browser dies ??= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
August 2020 August 2020 März 2020 September 2020 September 2020