Điều kiện cần:
- Hiểu biết cơ bản về HTML/CSS/Javacript
- Đã lập trình với JavaScript
Giới thiệu về ECMAScript
JavaScript được phát triển bởi Brendan Eich, một nhà phát triển tại Netscape Communications Corporation, vào năm 1995.JavaScript bắt đầu cuộc sống với tên Mocha và được đặt tên ngắn gọn là LiveScript trước khi được đổi tên chính thức thành JavaScript. Đó là một ngôn ngữ kịch bản được trình duyệt thực thi, tức là ở phần cuối máy khách. Nó được sử dụng cùng với HTML để phát triển các trang web đáp ứng.
ECMAScript (hoặc ES) là một đặc tả ngôn ngữ kịch bản được tiêu chuẩn hóa bởi ECMA International. Nó được tạo ra để chuẩn hóa JavaScript để giúp thúc đẩy nhiều triển khai độc lập. JavaScript vẫn là triển khai ECMAScript được sử dụng rộng rãi nhất kể từ khi tiêu chuẩn được xuất bản lần đầu tiên, với các triển khai bao gồm JScript và ActionScript. ECMAScript thường được sử dụng cho kịch bản phía máy khách trên World Wide Web và nó ngày càng được sử dụng để viết các ứng dụng và dịch vụ máy chủ bằng Node.js
Lịch sử phát triển ECMAScript
- ECMAScript: Sun (nay là Oracle) đã có một nhãn hiệu với tên là JavaScript JavaScript (dẫn đến việc Microsoft gọi phương ngữ JavaScript của nó là JScript tựa). Do đó, khi nói đến việc chuẩn hóa ngôn ngữ, một tên khác phải được sử dụng. Thay vào đó, ECMAScript đã được chọn bởi vì tiêu chuẩn tương ứng được tổ chức bởi ECMA International. Trong thực tế, các thuật ngữ của ECMAScript và JavaScript có thể hoán đổi cho nhau. Nếu JavaScript có nghĩa là ECMAScript được thực hiện bởi Mozilla và những người khác thì thì cái trước là một phương ngữ của cái sau. Thuật ngữ ECMAScript kèm theo cũng thường được sử dụng để biểu thị các phiên bản ngôn ngữ (như ECMAScript 6 hay ES6).
- ECMA-262: ECMA International (một tổ chức tiêu chuẩn) đã tạo ra tiêu chuẩn ECMA-262, đây là đặc điểm kỹ thuật chính thức của ngôn ngữ ECMAScript.
- Ecma’s Technical Committee 39 (TC39): là nhóm người (Brendan Eich và những người khác), những người phát triển tiêu chuẩn ECMA-262.
- ECMAScript 3 (tháng 12 năm 1999). Đây là phiên bản của ECMAScript mà hầu hết các trình duyệt hỗ trợ hiện nay. Nó giới thiệu nhiều tính năng đã trở thành một phần vốn có của ngôn ngữ: biểu thức chính quy, xử lý chuỗi tốt hơn, câu lệnh điều khiển mới, xử lý ngoại lệ thử / bắt, định nghĩa lỗi chặt chẽ hơn, định dạng cho đầu ra số và các cải tiến khác.
- ECMAScript 4 (tháng 7 năm 2008). ECMAScript 4 được phát triển như là phiên bản tiếp theo của JavaScript, với nguyên mẫu được viết bằng ML. Tuy nhiên, TC39 không thể đồng ý về bộ tính năng của nó. Để ngăn chặn sự bế tắc, ủy ban đã họp vào cuối tháng 7 năm 2008 và đã đi đến một thỏa thuận, được tóm tắt trong bốn điểm
- Phát triển bản cập nhật gia tăng của ECMAScript [đã trở thành ECMAScript 5.
- Phát triển một bản phát hành mới lớn, khiêm tốn hơn ECMAScript 4, nhưng phạm vi lớn hơn nhiều so với phiên bản sau ECMAScript 3. Phiên bản này có tên mã là Harmony, do tính chất của cuộc họp mà nó được hình thành.
- Các tính năng từ ECMAScript 4 sẽ bị loại bỏ: gói, không gian tên, ràng buộc sớm.
- Các ý tưởng khác đã được phát triển đồng thuận với tất cả TC39.
- ECMAScript 5 (tháng 12 năm 2009). Phiên bản này mang đến một số cải tiến cho thư viện tiêu chuẩn và thậm chí cả ngữ nghĩa ngôn ngữ được cập nhật thông qua một chế độ nghiêm ngặt.
- ECMAScript 6 (2015): ES6 là một thế hệ tiếp theo của JavaScript. ES6 không thể biên dịch trực tiếp trong các trình duyệt, vì vậy cần một trình biên dịch từ ES6 đến ES5, để biên dịch bằng babel, nó tạo ra javascript tương thích với trình duyệt. ES6 bao gồm các tính năng mới sau đây:
- Hỗ trợ hằng (Support for constants)
- Phạm vi khối (Block Scope)
- Hàm tiễn (Arrow Functions)
- Xử lý tham số mở rộng (Extended Parameter Handling)
- Literals mẫu (Template Literals)
- Literals mở rộng (Extended Literals)
- Thuộc tính đối tượng nâng cao (Enhanced Object Properties)
- Giới thiẹu De-structuring (De-structuring Assignment)
- Mô-đun (Modules)
- Lớp (Classes)
- Iterators
- Generators
- Bộ sưu tập (Collections)
- Phương thức mới được xây dựng cho các lớp khác nhau
- Promises
- ECMAScript 7 (2016) Quyết định phát hành phiên bản mới của ECMAScript mỗi năm bắt đầu từ năm 2015. Một bản cập nhật hàng năm có nghĩa là không còn bản phát hành lớn như ES6. ECMAScript 2016 (ES7) chỉ giới thiệu hai tính năng mới:
- Array.prototype.includes()
- Toán tử Exponentiation
- ECMAScript 8 (2017) Tại cuộc họp TC39 vào tháng 1 năm 2017, tính năng cuối cùng của ECMAScript 2017, "Shared memory and atomics". Các tính năng mới:
- Async Function
- Bộ nhớ chia sẻ và atomics
- Object.values/Object.entries
- String padding
- Object.getOwnPropertyDescriptors()
- Dấu phẩy trong danh sách tham số của hàm và gọi hàm
- ECMAScript 9 (2018) với các tính năng mới:
- Asynchronous Iteration
- Rest/Spread Properties
- RegExp named capture groups
- RegExp Unicode Property Escapes
- RegExp Lookbehind Assertions
- s (dotAll) cờ cho biểu thức chính tắc
- Promise.prototype.finally()
- Template Literal Revision
Kết luận
- ECMAScript là tiêu chuẩn dành cho ngôn ngữ JavaScript của ngôn ngữ JavaScript.
- EcmaScript là tên chính thức của Wikipedia cho JavaScript. Cuối cùng nó đã bị bỏ rơi và ES3.1 trở thành ES5, đây là phiên bản JavaScript được sử dụng trong thế giới HTML5 HTML5.
- Chúng ta biết lịch sử JavaScript, tại sao JavaScript phát triển, Trong những năm qua, javascript đã thay đổi thông qua ECMAScript,
- Sự hiểu biết chính về ES5 và ES6 có thể khám phá kiến thức JavaScript của bạn cũng như ES7, ES8, ES9.
- Đặc biệt hầu hết giờ các trình duyệt đều hỗ trợ ES6 và đây là phiên bản có nhiều thay đổi lớn và được dùng trong Node.js
Tài liệu tham khảo:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Language_Resources
https://en.wikipedia.org/wiki/ECMAScript#ES2015
https://medium.com/@madasamy/javascript-brief-history-and-ecmascript-es6-es7-es8-features-673973394df4
https://www.benmvp.com/learning-es6-history-of-ecmascript/