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 |