JavaScript ECMAScript 2018


Indholdsfortegnelse

    Vis indholdsfortegnelse

JavaScript-versionsnumre

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

Fra 2016 er versionerne navngivet efter år: ECMAScript 2016, 2017, 2018, 2019, ...

Nye funktioner i ECMAScript 2018

Dette kapitel introducerer de nye funktioner i ECMAScript 2018:

  • Asynkron iteration

  • Lov endelig

  • Egenskaber for objektrest

  • Nye RegExp-funktioner

  • JavaScript delt hukommelse


JavaScript asynkron iteration

ECMAScript 2018 tilføjede asynkrone iteratorer og iterables.

Med asynkrone iterables kan vi bruge afvente søgeord i for/af-løkker.

Eksempel

for await () {}

JavaScript asynkron iteration er understøttet i alle moderne browsere siden januar 2020:

Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
Dec 2017 Jan 2020 Nov 2017 Sep 2017 Jan 2018

JavaScript Promise.endelig

ECMAScript 2018 afslutter den fulde implementering af Promise-objektet med Promise.finally:

Eksempel

let myPromise = new Promise();

myPromise.then();
myPromise.catch();
myPromise.finally();

Promise.finally er understøttet i alle moderne browsere siden november 2018:

Chrome 63 Edge 18 Firefox 58 Safari 11.1 Opera 50
Dec 2017 Nov 2018 Jan 2018 Mar 2018 Jan 2018


JavaScript-objektrestegenskaber

ECMAScript 2018 tilføjede hvileegenskaber.

Dette giver os mulighed for at ødelægge en genstand og samle resterne på en ny genstand:

Eksempel

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }

Objekthvileegenskaber er understøttet i alle moderne browsere siden januar 2020:

Chrome 60 Edge 79 Firefox 55 Safari 11.1 Opera 47
Jul 2017 Jan 2020 Aug 2017 Mar 2018 Aug 2017

Nye JavaScript RegExp-funktioner

ECMAScript 2018 tilføjede 4 nye RegExp-funktioner:

  • Unicode Escapes (\p{...})

  • Lookbehind Assertions (?<= ) og (?

  • Navngivne Capture Groups

  • s (dotAll) Flag

De nye RegExp-funktioner er understøttet i alle moderne browsere siden juni 2020:

Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Jan 2018 Jan 2020 Jun 2020 Sep 2018 Feb 2018

JavaScript-tråde

I JavaScript bruger du Web Workers API til at oprette tråde.

Arbejdetråde bruges til at udføre kode i baggrunden, så hovedprogrammet kan fortsætte eksekveringen.

Arbejdstråde kører samtidigt med hovedprogrammet. Samtidig udførelse af forskellige dele af et program kan være tidsbesparende.

JavaScript delt hukommelse

Delt hukommelse er en funktion, der tillader tråde (forskellige dele af et program) at få adgang til og opdatere de samme data i den samme hukommelse.

I stedet for at overføre data mellem tråde, kan du sende et SharedArrayBuffer-objekt der peger på den hukommelse, hvor data gemmes.

SharedArrayBuffer

Et SharedArrayBuffer-objekt repræsenterer en rå binær databuffer med fast længde, der ligner ArrayBuffer-objektet.