ECMAScript 2018

  • Предыдущая страница JS 2017
  • Следующая страница JS 2019

Конвенции命名ования JavaScript начались с ES1, ES2, ES3, ES5 и ES6.

Но ECMAScript 2016 и 2017 не называют ES7 и ES8.

с 2016 года новые версии называют по годам (ECMAScript 2016/2017/2018).

новые возможности ECMAScript 2018

Эта глава знакомит с новыми возможностями ECMAScript 2018:

  • Асинхронная итерация
  • Promise Finally
  • объектные Rest свойства
  • новые возможности RegExp

Асинхронная итерация JavaScript

ECMAScript 2018 добавил асинхронные итераторы и итерируемые объекты.

с помощью асинхронной итерации мы можем for/of в цикле await ключевое слово.

Пример

for await () {}

Firefox и Safari стали первыми браузерами, поддерживающими асинхронную итерацию JavaScript:

Chrome и Firefox стали первыми браузерами, поддерживающими все новые функции RegExp: IE Firefox Safari Opera
Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
декабрь 2017 года Январь 2020 года ноябрь 2017 года сентябрь 2017 года Январь 2018 года

JavaScript Promise.finally

ECMAScript 2018 использует Promise.finally полностью реализованы объекты Promise:

Пример

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

Chrome и Firefox стали первыми, кто поддерживает: Promise.finally браузеры:

Chrome и Firefox стали первыми браузерами, поддерживающими все новые функции RegExp: IE Firefox Safari Opera
Chrome 63 Edge 18 Firefox 58 Firefox 55 Opera 50
декабрь 2017 года ноябрь 2018 года Январь 2018 года Июль 2017 года Январь 2018 года

Rest свойства объектов JavaScript

ECMAScript 2018 добавил Rest свойства.

Это позволяет нам разрушить объект и собрать оставшиеся элементы в новый объект:

Пример

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

Chrome, Firefox и Opera стали первыми браузерами, поддерживающими объектные Rest свойства:

Chrome и Firefox стали первыми браузерами, поддерживающими все новые функции RegExp: IE Firefox Safari Opera
Chrome 60 Edge 79 Chrome 60 Firefox 55 Safari 11.1
Opera 47 Январь 2020 года Март 2018 года Июль 2017 года Март 2018 года

Август 2017 года

Новые функции JavaScript RegExp

  • ECMAScript 2018 добавил 4 новые функции RegExp:
  • Утешил Unicode свойства (\p{...})
  • Задние положительныеassertions (?<= ) и (?<! )
  • Именованные группы захвата (Named Capture Groups)

символ (dotAll)

Chrome и Firefox стали первыми браузерами, поддерживающими все новые функции RegExp: IE Firefox Safari Opera
Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Январь 2018 года Январь 2020 года Июнь 2020 года Сентябрь 2018 года Февраль 2018 года
  • Предыдущая страница JS 2017
  • Следующая страница JS 2019