ECMAScript 2018
Giao thức đặt tên của JavaScript bắt đầu từ ES1, ES2, ES3, ES5 và ES6.
Nhưng, ECMAScript 2016 và 2017 không được gọi là ES7 và ES8.
Từ năm 2016, các phiên bản mới được đặt tên theo năm (ECMAScript 2016/2017/2018).
Tính năng mới trong ECMAScript 2018
Chương này giới thiệu tính năng mới của ECMAScript 2018:
- Lặp lại đồng bộ
- Promise Finally
- Thuộc tính Rest của đối tượng
- Tính năng mới của RegExp
Lặp lại đồng bộ của JavaScript
ECMAScript 2018 đã thêm bộ điều khiển lặp lại đồng bộ và đối tượng có thể lặp lại.
Bằng cách lặp lại đồng bộ, chúng ta có thể for/of
sử dụng trong vòng lặp await
ký tự.
Mô hình
for await () {}
Firefox và Safari là những trình duyệt đầu tiên hỗ trợ việc lặp lại đồng bộ JavaScript:
Chrome và Firefox là những trình duyệt đầu tiên hỗ trợ tất cả các tính năng mới của RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
Tháng 12 năm 2017 | Tháng 1 năm 2020 | Tháng 11 năm 2017 | Tháng 9 năm 2017 | Tháng 1 năm 2018 |
Promise.finally của JavaScript
ECMAScript 2018 sử dụng Promise.finally
Hoàn thành việc triển khai đầy đủ đối tượng Promise:
Mô hình
let myPromise = new Promise(); myPromise.then(); myPromise.catch(); myPromise.finally();
Chrome và Firefox là những trình duyệt đầu tiên hỗ trợ Promise.finally
của trình duyệt:
Chrome và Firefox là những trình duyệt đầu tiên hỗ trợ tất cả các tính năng mới của RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 18 | Firefox 58 | Firefox 55 | Opera 50 |
Tháng 12 năm 2017 | Tháng 11 năm 2018 | Tháng 1 năm 2018 | Tháng 7 năm 2017 | Tháng 1 năm 2018 |
Thuộc tính Rest của đối tượng JavaScript
ECMAScript 2018 đã thêm thuộc tính Rest.
Điều này cho phép chúng ta phá hủy một đối tượng và thu thập phần còn lại vào một đối tượng mới:
Mô hình
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x; // 1 y; // 2 z; // { a: 3, b: 4 }
Chrome, Firefox và Opera là những trình duyệt đầu tiên hỗ trợ thuộc tính Rest của đối tượng:
Chrome và Firefox là những trình duyệt đầu tiên hỗ trợ tất cả các tính năng mới của RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 60 | Edge 79 | Chrome 60 | Firefox 55 | Safari 11.1 |
Opera 47 | Tháng 1 năm 2020 | Tháng 3 năm 2018 | Tháng 7 năm 2017 | Tháng 3 năm 2018 |
Tháng 8 năm 2017
Tính năng mới của JavaScript RegExp
- ECMAScript 2018 đã thêm 4 tính năng mới của RegExp:
- Đối tượng chuyển đổi thuộc tính Unicode (\p{...})
- Kết luận sau (Lookbehind Assertions) (?<= ) và (?<! )
- Nhóm bắt tên (Named Capture Groups)
Biểu tượng (dotAll) s
Chrome và Firefox là những trình duyệt đầu tiên hỗ trợ tất cả các tính năng mới của RegExp: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Tháng 1 năm 2018 | Tháng 1 năm 2020 | Tháng 6 năm 2020 | Tháng 9 năm 2018 | Tháng 2 năm 2018 |