JavaScript °æ±¾

JavaScript °æ±¾

JavaScript ÓÉ Brendan Eich ÓÚ 1995 Äê·¢Ã÷£¬²¢ÓÚ 1997 Äê³ÉΪ ECMA ±ê×¼¡£

ECMAScript ÊǸÃÓïÑԵĹٷ½Ãû³Æ¡£

´Ó 2015 ÄêÆð£¬ECMAScript °´ÄêÃüÃû£¨ECMAScript 2015£©¡£

ECMAScript °æ±¾

°æ±¾ ¹Ù·½Ãû³Æ ÃèÊö
1 ECMAScript 1 (1997) µÚÒ»°æ¡£
2 ECMAScript 2 (1998) Ö»¸Ä±ä±à¼­·½Ê½¡£
3 ECMAScript 3 (1999)
  • Ìí¼ÓÁËÕýÔò±í´ïʽ¡£
  • Ìí¼ÓÁË try/catch¡£
4 ECMAScript 4 ´Óδ·¢²¼¹ý¡£
5

ECMAScript 5 (2009)

ÔĶÁ¸ü¶à£ºJS ES5

  • Ìí¼ÓÁË¡°Ñϸñģʽ¡±¡£
  • Ìí¼ÓÁË JSON Ö§³Ö¡£
  • Ìí¼ÓÁË String.trim()¡£
  • Ìí¼ÓÁË Array.isArray()¡£
  • Ìí¼ÓÁËÊý×éµü´ú·½·¨¡£
5.1 ECMAScript 5.1 (2011) ±à¼­¸Ä±ä¡£
6

ECMAScript 2015

ÔĶÁ¸ü¶à£ºJS ES6

  • Ìí¼ÓÁË let ºÍ const
  • Ìí¼ÓÁËĬÈϲÎÊýÖµ
  • Ìí¼ÓÁË Array.find()
  • Ìí¼ÓÁË Array.findIndex()
7 ECMAScript 2016
  • Ìí¼ÓÁËÖ¸ÊýÔËËã·û£¨**£©¡£
  • Ìí¼ÓÁË Array.prototype.includes¡£
8 ECMAScript 2017
  • Ìí¼ÓÁË×Ö·û´®Ìî³ä¡£
  • Ìí¼ÓÁËÐ嵀 Object ÊôÐÔ¡£
  • Ìí¼ÓÁËÒì²½¹¦ÄÜ¡£
  • Ìí¼ÓÁ˹²ÏíÄÚ´æ¡£
9 ECMAScript 2018
  • Ìí¼ÓÁË rest / spread ÊôÐÔ¡£
  • Ìí¼ÓÁËÒì²½µü´ú¡£
  • Ìí¼ÓÁË Promise.finally()¡£
  • Ôö¼Ó RegExp¡£

ECMAScript ͨ³£ËõдΪ ES¡£

ä¯ÀÀÆ÷Ö§³Ö

ËùÓÐä¯ÀÀÆ÷¶¼Íêȫ֧³Ö ECMAScript 3¡£

ËùÓÐÏÖ´úä¯ÀÀÆ÷¶¼Íêȫ֧³Ö ECMAScript 5¡£

¶Ô ES5 µÄä¯ÀÀÆ÷Ö§³Ö£¨2009£©

ä¯ÀÀÆ÷ °æ±¾ ÆðʼÈÕÆÚ
Chrome 23 2012 Äê 9 ÔÂ
Firefox 21 2013 Äê 4 ÔÂ
IE 9* 2011 Äê 3 ÔÂ
IE / Edge 10 2012 Äê 9 ÔÂ
Safari 6 2012 Äê 7 ÔÂ
Opera 15 2013 Äê 7 ÔÂ

* Internet Explorer 9 ²»Ö§³Ö ECMAScript 5 "use strict"¡£

¶Ô ES6 µÄä¯ÀÀÆ÷Ö§³Ö£¨ECMAScript 2015£©

ä¯ÀÀÆ÷ °æ±¾ ÈÕÆÚ
Chrome 58 2017 Äê 4 ÔÂ
Firefox 54 2017 Äê 6 ÔÂ
Edge 14 2016 Äê 8 ÔÂ
Safari 10 2016 Äê 9 ÔÂ
Opera 55 2017 Äê 8 ÔÂ

Internet Explorer ²»Ö§³Ö ECMAScript 2015¡£

¶Ô ES7 µÄä¯ÀÀÆ÷Ö§³Ö£¨ECMAScript 2016£©

ä¯ÀÀÆ÷ °æ±¾ ÈÕÆÚ
Chrome 68 2018 Äê 5 ÔÂ
Opera 47 2018 Äê 7 ÔÂ

JavaScript / ECMAScript

JavaScript ÊÇΪ Netscape ¿ª·¢µÄ¡£ Netscape 2 ÊǵÚÒ»¸öÔËÐÐ JavaScript µÄä¯ÀÀÆ÷¡£

ÔÚ Netscape Ö®ºó£¬Mozilla »ù½ð»á¼ÌÐøÎª Firefox ä¯ÀÀÆ÷¿ª·¢ JavaScript¡£

×îÐ嵀 JavaScript °æ±¾ÊÇ 1.8.5¡£ £¨Óë ECMAScript 5 Ïàͬ£©¡£

ECMAScript ÓÉ ECMA International ÔÚ×éÖ¯²ÉÓà JavaScript Ö®ºó¿ª·¢µÄ¡£

µÚÒ»°æ ECMAScript ÓÚ 1997 Äê·¢²¼¡£

´ËÁбí±È½ÏÁ˲»Í¬²úÆ·µÄ°æ±¾ºÅ£º

Äê·Ý JavaScript ECMA ä¯ÀÀÆ÷
1996 1.0 Netscape 2
1997 ECMAScript 1 IE 4
1998 1.3 Netscape 4
1999 ECMAScript 2 IE 5
2000 ECMAScript 3 IE 5.5
2000 1.5 Netscape 6
2000 1.5 Firefox 1
2011 ECMAScript 5 IE 9£¨³ýÁË "use strict"£©
2011 1.8.5 Firefox 4£¨³ýÁË parseInt ÖеÄǰµ¼Á㣩
2012 IE 10
2012 Chrome 23
2012 Safari 6
2013 Firefox 21
2013 Opera 15
2015 ECMAScript 2015 ÔÚËùÓÐä¯ÀÀÆ÷Öв¿·ÖÖ§³Ö

IE 4 ÊǵÚÒ»¸öÖ§³Ö ECMAScript 1£¨1997£©µÄä¯ÀÀÆ÷¡£

IE 5 ÊǵÚÒ»¸öÖ§³Ö ECMAScript 2£¨1999£©µÄä¯ÀÀÆ÷¡£

IE 5.5 ÊǵÚÒ»¸öÖ§³Ö ECMAScript 3£¨2000£©µÄä¯ÀÀÆ÷¡£

IE 9 * ÊǵÚÒ»¸öÖ§³Ö ECMAScript 5£¨2011£©µÄä¯ÀÀÆ÷¡£

Internet Explorer 9 ²»Ö§³Ö ECMAScript 5¡°use strict¡±¡£

Chrome 23¡¢IE 10 ºÍSafari 6 ÊǵÚÒ»ÅúÍêȫ֧³Ö ECMAScript 5 µÄä¯ÀÀÆ÷£º

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
2012 Äê 9 ÔÂ 2012 Äê 9 ÔÂ 2013 Äê 4 ÔÂ 2012 Äê 7 ÔÂ 2013 Äê 7 ÔÂ
VUE