ECMAScript 2018
Zasady nazewnictwa w JavaScript zaczynają się od ES1, ES2, ES3, ES5 i ES6.
Jednak ECMAScript 2016 i 2017 nie są nazywane ES7 i ES8.
Od 2016 roku nowe wersje są nazywane rokiem (ECMAScript 2016/2017/2018).
Nowe cechy ECMAScript 2018
Rozdział ten przedstawia nowe cechy ECMAScript 2018:
- Asynchroniczna iteracja
- Promise Finally
- obiekt Rest
- nowe cechy RegExp
Asynchroniczna iteracja w JavaScript
ECMAScript 2018 dodał asynchroniczne iteratory i obiekty iterable.
Dzięki asynchronicznej iteracji możemy w for/of
w pętli await
kluczowe słowo.
Przykład
for await () {}
Firefox i Safari są pierwszymi przeglądarkami wspierającymi asynchroniczną iterację w JavaScript:
Chrome i Firefox były pierwszymi przeglądarkami, które wspierały wszystkie nowe funkcje RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
Grudzień 2017 roku | Styczeń 2020 | Listopad 2017 roku | Wrzesień 2017 roku | Styczeń 2018 |
Promise.finally w JavaScript
ECMAScript 2018 używa Promise.finally
Zakończono pełne wdrożenie obiektu Promise:
Przykład
let myPromise = new Promise(); myPromise.then(); myPromise.catch(); myPromise.finally();
Chrome i Firefox są pierwszymi przeglądarkami wspierającymi Promise.finally
przeglądarek:
Chrome i Firefox były pierwszymi przeglądarkami, które wspierały wszystkie nowe funkcje RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 18 | Firefox 58 | Firefox 55 | Opera 50 |
Grudzień 2017 roku | Listopad 2018 roku | Styczeń 2018 | Lipiec 2017 | Styczeń 2018 |
Atrybut Rest obiektu w JavaScript
ECMAScript 2018 dodał atrybut Rest.
To pozwala nam zniszczyć obiekt i zebrać resztki do nowego obiektu:
Przykład
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x; // 1 y; // 2 z; // { a: 3, b: 4 }
Chrome, Firefox i Opera są pierwszymi przeglądarkami wspierającymi atrybut Rest obiektu:
Chrome i Firefox były pierwszymi przeglądarkami, które wspierały wszystkie nowe funkcje RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 60 | Edge 79 | Chrome 60 | Firefox 55 | Safari 11.1 |
Opera 47 | Styczeń 2020 | Marzec 2018 | Lipiec 2017 | Marzec 2018 |
Sierpień 2017
Nowe cechy RegExp w JavaScript
- ECMAScript 2018 dodał 4 nowe cechy RegExp:
- Ucieczkowe unikanie Unicode (\p{...})
- Przednie zastrzeżenia (Lookbehind Assertions) (?<= ) i (?<! )
- Nazwane grupy uchwytów (Named Capture Groups)
Znak (dotAll) - flaga
Chrome i Firefox były pierwszymi przeglądarkami, które wspierały wszystkie nowe funkcje RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Styczeń 2018 | Styczeń 2020 | Czerwiec 2020 | Wrzesień 2018 | Luty 2018 |