ECMAScript 2018
JavaScripts navngivningskonventioner begyndte med ES1, ES2, ES3, ES5 og ES6.
Men ECMAScript 2016 og 2017 blev ikke kaldt ES7 og ES8.
Siden 2016 har nye versioner været navngivet efter år (ECMAScript 2016/2017/2018).
Nye funktioner i ECMAScript 2018
Dette kapitel introducerer ECMAScript 2018s nye funktioner:
- asynkron iteration
- Promise Finally
- objekt Rest-attributter
- nye RegExp-karakteristika
JavaScript asynchronous iteration
ECMAScript 2018 tilføjede asynchronous iterators og iterable objekter.
Gennem asynchronous iteration kan vi for/of
i løkker. await
nøgleord.
Eksempel
for await () {}
Firefox og Safari er de første browsere, der understøtter JavaScript asynchronous iteration:
Chrome og Firefox var de første browsere, der understøttede alle nye RegExp-funktioner: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
December 2017 | Januar 2020 | November 2017 | September 2017 | Januar 2018 |
JavaScript Promise.finally
ECMAScript 2018 bruger Promise.finally
fulgte den fulde implementering af Promise-objektet:
Eksempel
let myPromise = new Promise(); myPromise.then(); myPromise.catch(); myPromise.finally();
Chrome og Firefox er de første, der understøtter Promise.finally
browserne:
Chrome og Firefox var de første browsere, der understøttede alle nye RegExp-funktioner: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 18 | Firefox 58 | Firefox 55 | Opera 50 |
December 2017 | November 2018 | Januar 2018 | 2017 juli | Januar 2018 |
JavaScript objekt Rest-attributter
ECMAScript 2018 tilføjede Rest-attributter.
Dette muliggør, at vi kan ødelægge et objekt og samle resten i et nyt objekt:
Eksempel
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x; // 1 y; // 2 z; // { a: 3, b: 4 }
Chrome, Firefox og Opera er de første browsere, der understøtter object Rest-attributter:
Chrome og Firefox var de første browsere, der understøttede alle nye RegExp-funktioner: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 60 | Edge 79 | Chrome 60 | Firefox 55 | Safari 11.1 |
Opera 47 | Januar 2020 | 2018 marts | 2017 juli | 2018 marts |
2017 august
Nye JavaScript RegExp-karakteristika
- ECMAScript 2018 tilføjede 4 nye RegExp-karakteristika:
- Unicode-ejenskabsudtryk (\p{...})
- Bagudlåse (Lookbehind Assertions) (?<= ) og (?<! )
- Navngivne fanggrupper (Named Capture Groups)
s (dotAll) flag
Chrome og Firefox var de første browsere, der understøttede alle nye RegExp-funktioner: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Januar 2018 | Januar 2020 | Juni 2020 | September 2018 | Februar 2018 |