ECMAScript 2018
Konvensi penamaan JavaScript dimulai dari ES1, ES2, ES3, ES5 dan ES6.
Namun, ECMAScript 2016 dan 2017 tidak disebut ES7 dan ES8.
Sejak 2016, versi baru dinamai berdasarkan tahun (ECMAScript 2016/2017/2018).
Fitur baru ECMAScript 2018
Bab ini memperkenalkan fitur baru ECMAScript 2018:
- Iterasi Asinkron
- Promise Finally
- Sifat Rest objek
- Kemampuan baru RegExp
Iterasi Asinkron JavaScript
ECMAScript 2018 menambahkan iterator asinkron dan objek yang dapat diulang.
Dengan iterasi asinkron, kami dapat for/of
digunakan dalam pengulangan await
kata kunci.
实例
for await () {}
Firefox dan Safari adalah pereka pengesanan pertama yang mendukung iterasi asinkron JavaScript:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
Desember 2017 | 2020 年 1 月 | November 2017 | September 2017 | 2018 年 1 月 |
Promise.finally JavaScript
ECMAScript 2018 menggunakan Promise.finally
Selesai melengkapkan implementasi objek Promise:
实例
let myPromise = new Promise(); myPromise.then(); myPromise.catch(); myPromise.finally();
Chrome dan Firefox adalah pereka pengesanan pertama yang mendukung Promise.finally
pemetaan browser:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 18 | Firefox 58 | Safari 11.1 | Opera 50 |
Desember 2017 | November 2018 | 2018 年 1 月 | 2018 年 3 月 | 2018 年 1 月 |
Sifat Rest Objek JavaScript
ECMAScript 2018 menambahkan sifat Rest.
Ini memungkinkan kami untuk merusak objek dan mengumpulkan sisanya ke objek baru:
实例
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x; // 1 y; // 2 z; // { a: 3, b: 4 }
Chrome、Firefox dan Opera adalah pereka pengesanan pertama yang menyokong sifat Rest objek:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 60 | Edge 79 | Firefox 55 | Safari 11.1 | Opera 47 |
2017 年 7 月 | 2020 年 1 月 | 2017 年 8 月 | 2018 年 3 月 | 2017 年 8 月 |
新的 JavaScript RegExp 特性
ECMAScript 2018 添加了 4 个新的 RegExp 特性:
- Unicode 属性转义 (\p{...})
- 后行断言(Lookbehind Assertions) (?<= ) 和 (?<! )
- 命名捕获组(Named Capture Groups)
- s (dotAll) 标志
Chrome 和 Firefox 是第一批支持所有新 RegExp 功能的浏览器:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
2018 年 1 月 | 2020 年 1 月 | 2020 年 6 月 | 2018 年 9 月 | 2018 年 2 月 |