ECMAScript 2018

JavaScripts namngivningskonventioner började med ES1, ES2, ES3, ES5 och ES6.

Men ECMAScript 2016 och 2017 kallades inte ES7 och ES8.

Sedan 2016 har nya versioner fått namn efter året (ECMAScript 2016/2017/2018).

nya funktionerna i ECMAScript 2018

Detta kapitel introducerar de nya funktionerna i ECMAScript 2018:

  • asynkron iteration
  • Promise Finally
  • objekts Rest-attribut
  • nya RegExp-funktioner

JavaScripts asynkrona iteration

ECMAScript 2018 lade till asynkrona iterator och iterabla objekt.

Genom asynkron iteration kan vi for/of i en loop. await nyckelord.

Exempel

for await () {}

Firefox och Safari var de första webbläsarna som stödde JavaScripts asynkrona iteration:

Chrome och Firefox var de första webbläsarna som stödde alla nya RegExp-funktioner: IE Firefox Safari Opera
Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
December 2017 Januari 2020 November 2017 September 2017 Januari 2018

JavaScript Promise.finally

ECMAScript 2018 använder Promise.finally Completerade den fullständiga implementeringen av Promise-objektet:

Exempel

let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();

Chrome och Firefox var de första som stödde Promise.finally s webbläsare:

Chrome och Firefox var de första webbläsarna som stödde alla nya RegExp-funktioner: IE Firefox Safari Opera
Chrome 63 Edge 18 Firefox 58 Firefox 55 Opera 50
December 2017 November 2018 Januari 2018 2017 juli Januari 2018

JavaScript objekts Rest-attribut

ECMAScript 2018 lade till Rest-attribut.

Detta tillåter oss att bryta upp ett objekt och samla ihop resten i ett nytt objekt:

Exempel

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

Chrome, Firefox och Opera var de första webbläsarna som stödde objekts Rest-attribut:

Chrome och Firefox var de första webbläsarna som stödde alla nya RegExp-funktioner: IE Firefox Safari Opera
Chrome 60 Edge 79 Chrome 60 Firefox 55 Safari 11.1
Opera 47 Januari 2020 2018 mars 2017 juli 2018 mars

2017 augusti

Nya JavaScript RegExp-funktioner

  • ECMAScript 2018 lade till 4 nya RegExp-funktioner:
  • Unicode-attribut-escaper (\p{...})
  • Postenklag (Lookbehind Assertions) (?<= ) och (?<! )
  • Namngivna fånggrupper (Named Capture Groups)

s (dotAll) flagga

Chrome och Firefox var de första webbläsarna som stödde alla nya RegExp-funktioner: IE Firefox Safari Opera
Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Januari 2018 Januari 2020 Juni 2020 September 2018 Februari 2018