【01】ES6:ECMAScript 介紹

ECMAScript 6.0 (以下簡稱 ES6)是 JavaScript 語言的下一代標準,已經在 2015 年 6 月正式發布。它的目標,是使得 JavaScript 語言可以用來編寫復雜的大型應用程序,成為企業級開發語言。

參考:《ECMAScript 6 入門教程》

一、ECMAScript 和 JavaScript 關系

一個常見的問題是,ECMAScript 和 JavaScript 到底是什么關系?

要講清楚這個問題,需要回顧歷史。1996 年 11 月,JavaScript 的創造者 Netscape 公司,決定將 JavaScript 提交給標準化組織 ECMA,希望這種語言能夠成為國際標準。次年,ECMA 發布 262 號標準文件(ECMA-262)的第一版,規定了瀏覽器腳本語言的標準,并將這種語言稱為 ECMAScript,這個版本就是 1.0 版。

該標準從一開始就是針對 JavaScript 語言制定的,但是之所以不叫 JavaScript,有兩個原因。一是商標,Java 是 Sun 公司的商標,根據授權協議,只有 Netscape 公司可以合法地使用 JavaScript 這個名字,且 JavaScript 本身也已經被 Netscape 公司注冊為商標。二是想體現這門語言的制定者是 ECMA,不是 Netscape,這樣有利于保證這門語言的開放性和中立性。

因此,ECMAScript 和 JavaScript 的關系是,前者是后者的規格,后者是前者的一種實現(另外的 ECMAScript 方言還有 JScript 和 ActionScript)。日常場合,這兩個詞是可以互換的。

二、ES6 與 ECMAScript 2015 的關系

ECMAScript 2015(簡稱 ES2015)這個詞,也是經常可以看到的。它與 ES6 是什么關系呢?

2011 年,ECMAScript 5.1 版發布后,就開始制定 6.0 版了。因此,ES6 這個詞的原意,就是指 JavaScript 語言的下一個版本。

但是,因為這個版本引入的語法功能太多,而且制定過程當中,還有很多組織和個人不斷提交新功能。事情很快就變得清楚了,不可能在一個版本里面包括所有將要引入的功能。常規的做法是先發布 6.0 版,過一段時間再發 6.1 版,然后是 6.2 版、6.3 版等等。

但是,標準的制定者不想這樣做。他們想讓標準的升級成為常規流程:任何人在任何時候,都可以向標準委員會提交新語法的提案,然后標準委員會每個月開一次會,評估這些提案是否可以接受,需要哪些改進。如果經過多次會議以后,一個提案足夠成熟了,就可以正式進入標準了。這就是說,標準的版本升級成為了一個不斷滾動的流程,每個月都會有變動。

標準委員會最終決定,標準在每年的 6 月份正式發布一次,作為當年的正式版本。接下來的時間,就在這個版本的基礎上做改動,直到下一年的 6 月份,草案就自然變成了新一年的版本。這樣一來,就不需要以前的版本號了,只要用年份標記就可以了。

ES6 的第一個版本,就這樣在 2015 年 6 月發布了,正式名稱就是《ECMAScript 2015 標準》(簡稱 ES2015)。2016 年 6 月,小幅修訂的《ECMAScript 2016 標準》(簡稱 ES2016)如期發布,這個版本可以看作是 ES6.1 版,因為兩者的差異非常小(只新增了數組實例的includes方法和指數運算符),基本上是同一個標準。根據計劃,2017 年 6 月發布 ES2017 標準。

因此,ES6 既是一個歷史名詞,也是一個泛指,含義是 5.1 版以后的 JavaScript 的下一代標準,涵蓋了 ES2015、ES2016、ES2017 等等,而 ES2015 則是正式名稱,特指該年發布的正式版本的語言標準。本書中提到 ES6 的地方,一般是指 ES2015 標準,但有時也是泛指“下一代 JavaScript 語言”。

三、總結

ECMA

歐洲計算機制造商協會

ES6

ECMAScript 這門標準的第 6 代版本(2015)。ECMAScript 是語言的標準,6 是版本號。

具體內容:語法 + API

歷史版本:ES1——>3、ES5——>6(ES4 被廢棄了),我們目前使用 JS 的大部分內容都是 ES3 的部分。

ES6 的兼容性:主流瀏覽器的最新版本幾乎都全部支持 ES6; IE 老版本等不支持的瀏覽器,可以使用 Babel 轉碼。

ES 與 JS 的關系

JavaScript(瀏覽器端)= ECMAScript(語法+API)+ DOM + BOM

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162052.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162052.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162052.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# Winform使用log4net記錄日志

寫在前面 Log4Net是從Java的log4j移植過來的,功能也與log4j類似,可以把日志信息輸出到文件、數據庫、控制臺、Windows 事件日志、遠程系統日志服務等不同的介質或目標。 Log4Net配置選項豐富靈活,并且可在運行時動態更新配置并應用&#xf…

解析紫光展銳T820 5G芯片——讓照片接近原色

紫光展銳系統級安全的高性能5G SoC芯片平臺T820,采用八核CPU架構,6nm EUV先進工藝,金融級全內置安全方案,在性能、功耗與5G通信體驗等方面,較上一代產品更為出色。 此前,已經為大家講解過T820的拍照、安全性…

mac跑分工具 Geekbench v6.2.2

Geekbench 6 是一款跨平臺的系統性能測試軟件,可以對處理器和內存等硬件進行評測,并提供了單核和多核兩種測試模式。該軟件適用于 Windows、macOS、Linux 和 iOS 等多種操作系統平臺。 Geekbench 6 測試可以幫助用戶快速準確地了解自己設備的性能表現&am…

【brpc學習實踐五】brpc自適應限流案例

自適應限流 服務的處理能力是有客觀上限的。當請求速度超過服務的處理速度時,服務就會過載。 如果服務持續過載,會導致越來越多的請求積壓,最終所有的請求都必須等待較長時間才能被處理,從而使整個服務處于癱瘓狀態。 與之相對…

PHP中間件實現

目錄 1、簡單中間實現 2、使用閉包函數實現中間件 在PHP中,中間件是一種常用的設計模式,用于處理請求和響應,它可以在請求到達目標處理程序之前或響應發送給客戶端之前執行一些特定的邏輯。中間件提供了一種靈活的方式來修改或擴展應用程序的…

查看當前laravel版本三種方法(筆記二)

1、在終端中使用 Artisan 命令:在 Laravel 項目的根目錄下,打開終端(命令行界面),然后運行以下命令: php artisan --version 2、控制器中打印版本 var_dump(app()->version()); 3、在 Laravel 項目的根目…

【kubernetes】k8s架構之節點

文章目錄 1、集群架構示意圖2、概述3、管理3.1 節點名稱唯一性3.2 節點自注冊3.3 手動節點管理 4、節點狀態4.1 地址(Addresses)4.2 狀況(Condition)4.3 容量(Capacity)與可分配(Allocatable&am…

PTA-輸出三角形面積和周長

本題要求編寫程序,根據輸入的三角形的三條邊a、b、c,計算并輸出面積和周長。注意:在一個三角形中, 任意兩邊之和大于第三邊。三角形面積計算公式:areas(s?a)(s?b)(s?c)?,其中s(abc)/2。 輸入格式&…

某60區塊鏈安全之Call函數簇濫用實戰二學習記錄

區塊鏈安全 文章目錄 區塊鏈安全Call函數簇濫用實戰二實驗目的實驗環境實驗原理實驗內容實驗步驟EXP利用 Call函數簇濫用實戰二 實驗目的 學會使用python3的web3模塊 學會并區分以太坊call、staticcall、delegatecall三種函數調用的特點 找到合約漏洞進行分析并形成利用 實驗…

關于git hooks

Git hooks 是一種在 Git 倉庫中觸發自定義腳本的機制。這些腳本可以在特定的 Git 操作(如提交、推送、合并等)發生時執行。通過使用 Git hooks,你可以在版本控制的不同階段自動運行腳本,以執行一些定制化的操作。 在 Git 中&…

03梯度下降

目錄 lambda基礎知識 代碼 核心算法: lambda基礎知識 lambda 是 Python 中的一個關鍵字,用于創建匿名函數。匿名函數是一種沒有具體名稱的小型、臨時的函數,通常用于一次性的、簡單的操作。lambda 函數的語法如下:python Copy c…

高效運維工具,助力運維服務商為企業用戶提供IT遠程維保服務

一、背景介紹 隨著科技的迅速發展和信息化建設的不斷推進,IT運維在中小企業中的地位逐漸提升。IT運維是指通過技術手段和工具,對企業的IT基礎設施進行監控、管理和維護,以確保企業信息系統的穩定運行和業務的持續發展。 然而,對于…

計算3個點的6種分布在平面上的占比

假設平面的尺寸是6*6,用11的方式構造2,在用21的方式構造3 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 3 3 3 x 3 3 2 2 2 1 2 2 2 2 2 1 2 2 在平面上有一個點x,11的操作吧平面分成了3部分2a1,2a…

海康Visionmaster-模塊索引:MFC 模塊索引異常解決 辦法

現象:文件編碼格式為 UTF-8 不帶簽名編碼格式,模塊索引會出現 模塊無法找到異常 更改文件類型為 UTF-8 帶簽名格式或 vs 默認 GBK2312 編碼格式

JMeter處理接口簽名sign

寫接口腳本的時候,很多接口涉及到簽名,今天介紹下用JMeter編寫簽名腳本的方法。 舉個例子,開啟紅包接口,請求方式為post POST /v1/api/red/open json請求參數 { "red_id":1, "timestamp":"1667033841…

2023年中國邊緣計算網關現狀及發展趨勢分析[圖]

邊緣計算網關是一種可以在設備上運行本地計算、消息通信、數據緩存等功能的工業智能網關,可以在無需聯網的情況下實現設備的本地聯動以及數據處理分析。邊緣計算網關是一種連接物聯網設備和云端服務的關鍵技術,它可以在設備和云端之間建立一個安全、高效…

實例講解Simulink的MATLAB Function模塊

內容 MATLAB Function是一個支持使用M語言編寫模塊功能,并能夠將所編寫的M語言生成C代碼,用于開發桌面應用和嵌入式應用的模塊。它支持的 MATLAB內建函數比 Fcn模塊要廣泛,除去基本的四則運算、邏輯操作符和關系操作符,還可以調用MATLAB各種…

代碼隨想錄算法訓練營第四十三天【動態規劃part05】 | 1049. 最后一塊石頭的重量 II、494. 目標和、474.一和零

1049. 最后一塊石頭的重量 II 題目鏈接: 力扣(LeetCode)官網 - 全球極客摯愛的技術成長平臺 求解思路: 等于把石頭盡量分成重量相同的兩堆 動規五部曲 確定dp數組及其下標含義:容量為j的背包,最多能裝…

logstash安裝和使用

官網:https://www.elastic.co/cn/logstash/ 1.上傳Linux安裝包 2.解壓安裝包且重命名 [rootVM-4-10-centos logstash]# tar -zxvf logstash-8.11.1-linux-x86_64.tar.gz -C ../software/[rootVM-4-10-centos logstash]# mv logstash-8.11.1/ logstash3.啟動測試 …

國產遙感影像處理軟件 GSRS,真是很方便

兼容國內外絕大多數衛星遙感影像格式;高效的影像查看,比如漫游、放大、縮小、查看影像像素灰度值、影像地理坐標、影像投影坐標系等等;人機交互影像裁剪,任何繪制裁剪區域,輸出裁剪影像;具備影像基本處理功…