提起ES5, ES6(ES2015),大家一定不會陌生,現(xiàn)代前端開發(fā)中,越來越多的人都開始使用ES6或者TypeScript來開發(fā)自己的產(chǎn)品,但是說到ECMAScript與JavaScript的關(guān)系,相信很多人不是很清楚。
讓我們來Google一下ECMAScript和JavaScript,結(jié)果眾說紛紜,看看下面的一些解釋,是不是更加混亂了。
ECMAScript是標(biāo)準(zhǔn)
JavaScript是標(biāo)準(zhǔn)
ECMAScript是規(guī)范
JavaScript是ECMAScript標(biāo)準(zhǔn)的實現(xiàn)
ECMAScript是標(biāo)準(zhǔn)化的JavaScript
ECMAScript是一門語言
JavaScript是ECMAScript的一種語言變種
ECMAScript就是JavaScript
如果想要理解ECMAScript和JavaScript的關(guān)系,就要先從ECMA國際說起:
“ECMA International” - ECMA國際,是一個專門為技術(shù)制定標(biāo)準(zhǔn)的組織。
在1997年6月, 該公司發(fā)布了一個標(biāo)準(zhǔn) - ECMA-262
ECMA-262作為一個標(biāo)準(zhǔn),它為通用編程語言(ECMAScript)定義了相關(guān)的規(guī)范。
所以,ECMA-262是標(biāo)準(zhǔn)的名稱,它的內(nèi)容描述了ECMAScript語言規(guī)范(ECMAScript Language Specification)。
在ECMA-262中有以下描述:
ECMAScript is an object?oriented programming language for performing computations and manipulating
computational objects within a host environment.
ECMAScript是面向?qū)ο蟮木幊陶Z言
ECMAScript was originally designed to be used as a scripting language, but has become widely used as a
general?purpose programming language
起初,ECMAScript是作為網(wǎng)頁腳本語言設(shè)計的,但是卻逐漸演變成了廣泛使用的通用型編程語言。
所以,我們得到了如下結(jié)論:
- ECMA-262是ECMA國際發(fā)的一個技術(shù)標(biāo)準(zhǔn)。
- ECMAScript是一種編程語言。
- ECMA-262中,為ECMAScript這門編程語言定義了規(guī)范。
現(xiàn)在回過頭來看JavaScript,就簡單了。
JavaScript是一門遵循了ECMAScript語言規(guī)范而設(shè)計的編程語言。
最后一個問題,那ES5,ES6,ES7...又是什么呢?
它們是ECMA-262標(biāo)準(zhǔn)的版本號。
Name | Release date | Description |
---|---|---|
ECMA-262 5th Edition | December 2009 | ECMAScript Language Specification. This is the fifth revision of the ECMAScript standard. |
ECMA-262 6th Edition | June 2015 | ECMAScript 2015 Language Specification |
ECMA-262 7th Edition | June 2016 | ECMAScript 2016 Language Specification |
ECMA-262 8th Edition | June 2017 | ECMAScript 2017 Language Specification |
2015年ECMA國際決定每年發(fā)布一個版本,所以ES6被重命名為ES2015,用來體現(xiàn)發(fā)布的年份,所以ES6和ES2015是一個意思,以后每年的版本我們稱為ES2016,ES2017,ES2018。