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