ES是國際標(biāo)準(zhǔn)化組織發(fā)布的瀏覽器腳本語言的標(biāo)準(zhǔn),全名:ECMAScript。
ES是JS語言的國際標(biāo)準(zhǔn),JS是ES的實現(xiàn)。在日常場合,兩個詞可以互換。
ES是JS的子集,它是JS的內(nèi)容的一部分,一個完整的JS實現(xiàn)是由以下三部分組成:
核心(ESMAScript):規(guī)定了JS的語法、類型、語句、關(guān)鍵字、保留字、操作符、對象
文檔對象模型(DOM):是用于HTML的應(yīng)用接口(API),將整個頁面映射為一個多層節(jié)點結(jié)構(gòu)。
瀏覽器對象模型(BOM):與DOM不同,無標(biāo)準(zhǔn),只是JS一部分,用來對瀏覽器進行訪問和操作。

DOM

通過DOM創(chuàng)建的文檔結(jié)構(gòu)樹形圖,開發(fā)人員獲得了控制頁面內(nèi)容和結(jié)構(gòu)的主動權(quán)。借助DOM提供的API,開發(fā)人員可以方便的刪除、添加、替換、修改任何節(jié)點。
BOM
使用BOM,開發(fā)者可以移動窗口,改變狀態(tài)欄中的文本,以及執(zhí)行其他與頁面不直接相關(guān)的動作。主要處理瀏覽器窗口和框架。通常情況下BOM包括:
1、彈出一些新的瀏覽器窗口
2、移動、關(guān)閉瀏覽器窗口以及調(diào)整窗口大小
3、提供Web瀏覽器詳細信息的定位對象
4、提供用戶屏幕分辨率詳細信息的屏幕對象
5、對cookie的支持
由于沒有相關(guān)BOM的標(biāo)準(zhǔn),每種瀏覽器都有自己的BOM實現(xiàn)。每種瀏覽器都可以為這些對象或其他對象定義自己的屬性和方法。
ES6
ES6是一個歷史名詞,泛指ES5.1以后的JavaScript的下一代標(biāo)準(zhǔn)。
涵蓋了ES2015、ES2016、ES2017等(ECMA從15年開始,每年6月更新一次標(biāo)準(zhǔn),標(biāo)準(zhǔn)命名從此用年份標(biāo)注)。
但由于人們對ES6叫法的習(xí)慣,目前使用這個叫法比較多。