ES6簡(jiǎn)介

ES6簡(jiǎn)介

ECMAScript 6.0,簡(jiǎn)稱(chēng)ES6,是JavaScript語(yǔ)言的下一代標(biāo)準(zhǔn),已經(jīng)在2015年6月正式發(fā)布。其目標(biāo)為使JavaScript可以用來(lái)編寫(xiě)復(fù)雜的大型應(yīng)用程序,成為企業(yè)級(jí)開(kāi)發(fā)語(yǔ)言。

ECMAScript和JavaScript的關(guān)系:

前者是后者的規(guī)格;

后者是前者的一種實(shí)現(xiàn)。

ECMAScript 和 JavaScript 的關(guān)系

一個(gè)常見(jiàn)的問(wèn)題是,ECMAScript 和 JavaScript 到底是什么關(guān)系?

要講清楚這個(gè)問(wèn)題,需要回顧歷史:

1996 年 11 月,JavaScript 的創(chuàng)造者 Netscape 公司,決定將 JavaScript 提交給標(biāo)準(zhǔn)化組織 ECMA,希望這種語(yǔ)言能夠成為國(guó)際標(biāo)準(zhǔn)。

次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-262)的第一版,規(guī)定了瀏覽器腳本語(yǔ)言的標(biāo)準(zhǔn),并將這種語(yǔ)言稱(chēng)為 ECMAScript,這個(gè)版本就是 1.0 版。

該標(biāo)準(zhǔn)從一開(kāi)始就是針對(duì) JavaScript 語(yǔ)言制定的,但是之所以不叫 JavaScript,有兩個(gè)原因:一是商標(biāo),Java 是 Sun 公司的商標(biāo),根據(jù)授權(quán)協(xié)議,只有 Netscape 公司可以合法地使用 JavaScript 這個(gè)名字,且 JavaScript 本身也已經(jīng)被 Netscape 公司注冊(cè)為商標(biāo)。二是想體現(xiàn)這門(mén)語(yǔ)言的制定者是 ECMA,不是 Netscape,這樣有利于保證這門(mén)語(yǔ)言的開(kāi)放性和中立性。

因此,ECMAScript 和 JavaScript 的關(guān)系是,前者是后者的規(guī)格,后者是前者的一種實(shí)現(xiàn)(另外的 ECMAScript 方言還有 JScript 和 ActionScript)。日常場(chǎng)合,這兩個(gè)詞是可以互換的。

部署進(jìn)度

各大瀏覽器的最新版本,對(duì)ES6的支持可以查看https://kangax.github.io/compat-table/es6/。

Node是JavaScript的服務(wù)器運(yùn)行環(huán)境,對(duì)ES6的支持度更高,除了那些默認(rèn)打開(kāi)的功能,還有一些語(yǔ)法功能已經(jīng)實(shí)現(xiàn)了但是默認(rèn)沒(méi)有打開(kāi)的。

Windows環(huán)境下可以通過(guò)下列的命令行查看Node已經(jīng)實(shí)現(xiàn)的ES6特性。

node --v8-options | findstr harmony

這里附上我自己電腦上Node實(shí)現(xiàn)的ES6特性:

Node_es6_features.png

findstr命令是Windows系統(tǒng)自帶的命令,用途是查找指定的一個(gè)或多個(gè)文件且文件中包含某些特定字符串的行,并將查找到的符合行信息完整地打印出來(lái)。

[資料來(lái)源] https://baike.baidu.com/item/FINDSTR

--v8-options命令用于打印V8命令行選項(xiàng)【注意:V8選項(xiàng)允許單詞使用破折號(hào)(-)或下劃線(_)分割】

[資料來(lái)源] http://nodejs.cn/api/cli/v8_options.html

那么就可以比較清楚的知道:這個(gè)命令的實(shí)際意思是在node環(huán)境下,從V8命令行選項(xiàng)中找到其中有“harmony”字符串的行,并打印出來(lái)。

至于命令行中需要帶有harmony字符串,是因?yàn)椋?/p>

所有ECMAScript 2015 (ES6)特性被分成三個(gè)組,分別表示shipping、staged、in progress特性——

shipping:表示在V8引擎中認(rèn)為這些功能特性是穩(wěn)定的,默認(rèn)在node.js中開(kāi)啟使用,不需要在命令行中附加其他的flag

Staged:表示在V8引擎中認(rèn)為是快要完成、但不能肯定其確定穩(wěn)定性的功能特性,需要在命令行中附加flag:--harmony

In progress:表示在V8引擎中,這些功能需要通過(guò)各自的flag單獨(dú)激活,并且除非出于測(cè)試目的,否則這是非常不鼓勵(lì)的。 注意:這些標(biāo)志由V8公開(kāi),如果沒(méi)有任何棄用通知,可能會(huì)更改。類(lèi)似:--harmony_destructuring

[資料來(lái)源] https://nodejs.org/en/docs/es6/

[資料來(lái)源] https://segmentfault.com/q/1010000007686125

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容