Lịch sử của JavaScript

JavaScript / ECMAScript

JavaScriptBrendan Eich vào năm 1995.

Nó được phát minh Netscape 2 được phát triển và trở thành tiêu chuẩn vào năm 1997 ECMA-262 Tiêu chuẩn.

Sau khi Netscape trao JavaScript cho ECMA, Quỹ Mozilla tiếp tục phát triển JavaScript cho trình duyệt Firefox. Phiên bản mới nhất của Mozilla là 1.8.5. (Cùng với ES5).

Internet Explorer (IE4) là trình duyệt đầu tiên hỗ trợ ECMA-262 Edition 1 (ES1).

Năm ECMA Trình duyệt
Năm 1995 JavaScript được phát minh bởi Brendan Eich
Năm 1996 Netscape 2 được phát hành cùng với JavaScript 1.0
Năm 1997 JavaScript trở thành tiêu chuẩn ECMA (ECMA-262)
Năm 1997 ES1 ECMAScript 1 được phát hành
Năm 1997 ES1 IE 4 là trình duyệt đầu tiên hỗ trợ ES1
Năm 1998 ES2 ECMAScript 2 được phát hành
Năm 1998 Netscape 4.2 được phát hành cùng với JavaScript 1.3
Năm 1999 ES2 IE 5 là trình duyệt đầu tiên hỗ trợ ES2
Năm 1999 ES3 ECMAScript 3 được phát hành
Năm 2000 ES3 IE 5.5 là trình duyệt đầu tiên hỗ trợ ES3
Năm 2000 Netscape 6.2 được phát hành cùng với JavaScript 1.5
Năm 2000 Firefox 1 được phát hành cùng với JavaScript 1.5
Năm 2008 ES4 ECMAScript 4 bị bỏ lại
Năm 2009 ES5 ECMAScript 5 được phát hành
Năm 2011 ES5 IE 9 là trình duyệt đầu tiên hỗ trợ ES5 *
Năm 2011 ES5 Firefox 4 được phát hành cùng với JavaScript 1.8.5
Năm 2012 ES5 Safari 6 hỗ trợ hoàn toàn ES5
Năm 2012 ES5 IE 10 hỗ trợ hoàn toàn ES5
Năm 2012 ES5 Chrome 23 hỗ trợ hoàn toàn ES5
Năm 2013 ES5 Firefox 21 hỗ trợ hoàn toàn ES5
Năm 2013 ES5 Opera 15 hỗ trợ hoàn toàn ES5
Năm 2014 ES5 Hỗ trợ hoàn toàn ES5 trong tất cả các trình duyệt
Năm 2015 ES6 Phát hành ECMAScript 6
Năm 2016 ES6 Chrome 51 hỗ trợ hoàn toàn ES6
Năm 2016 ES6 Opera 38 hỗ trợ hoàn toàn ES6
Năm 2016 ES6 Edge 14 hỗ trợ hoàn toàn ES6
Năm 2016 ES6 Safari 10 hỗ trợ hoàn toàn ES6
Năm 2015 ES6 Hỗ trợ hoàn toàn ES6 trong Firefox 52
Năm 2018 ES6 Hỗ trợ hoàn toàn ES6 trong trình duyệt

*: Internet Explorer 9 không hỗ trợ ES5 "use strict".

ECMA Technical Committee 39

Năm 1996, Netscape và Brendan Eich đã mang JavaScript đến tổ chức tiêu chuẩn quốc tế ECMA và thành lập một ủy ban kỹ thuật (TC39) để phát triển ngôn ngữ này.

Phiên bản đầu tiên của ECMA-262 được phát hành vào tháng 6 năm 1997.

Từ ES4 đến ES6

Khi Ủy ban TC39 họp tại Oslo vào năm 2008 để đạt sự đồng thuận về ECMAScript 4, họ đã chia thành hai phe phái hoàn toàn khác nhau:

ECMAScript 3.1 Camp:
Microsoft và Yahoo muốn nâng cấp dần dần từ ES3.
ECMAScript 4 Camp:
Adobe, Mozilla, Opera và Google, họ muốn nâng cấp ES4 trên quy mô lớn.

Ngày 13 tháng 8 năm 2008, Brendan Eich đã viết mộtEmail:

Cơ quan tiêu chuẩn JavaScript Ecma Technical Committee 39 đã chia rẽ hơn một năm, điều này không còn là bí mật nữa, một số thành viên ủng hộ ES4, đây là phiên bản thứ tư chính của ECMA-262, trong khi một số thành viên khác ủng hộ quy định phiên bản thứ ba ES3.1 dựa trên ECMA-262 hiện có (ES3). Hiện tại, tôi rất vui mừng thông báo rằng sự chia rẽ đã kết thúc.

Giải pháp là làm việc cùng nhau:

  • ECMAScript 4 được đổi tên thành ES5
  • ES5 nên là sự nâng cấp dần dần của ECMAScript 3.
  • Tính năng của ECMAScript 4 nên được áp dụng trong các phiên bản sau.
  • TC39 nên phát triển một phiên bản chính mới, có phạm vi lớn hơn ES5.

Phiên bản mới dự kiến (ES6) có mã gọi là "Harmony" (vì nó đã gây ra sự chia rẽ?).

ES5 đã đạt được thành công lớn. Nó được phát hành vào năm 2009, đến tháng 7 năm 2013, tất cả các trình duyệt chính (bao gồm Internet Explorer) đều hoàn toàn tương thích:

Chrome IE Firefox Safari Opera
Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Tháng 11 năm 2012 Tháng 9 năm 2012 Tháng 5 năm 2013 Tháng 7 năm 2012 Tháng 7 năm 2013

ES6 đã đạt được thành công lớn. Nó được phát hành vào năm 2015, đến tháng 3 năm 2017, tất cả các trình duyệt chính đều hoàn toàn tương thích:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
Tháng 5 năm 2016 Tháng 8 năm 2016 Tháng 3 năm 2017 Tháng 9 năm 2016 Tháng 6 năm 2016