ECMAScript6入门简介篇
ECMAScript 6
ECMAScript 6(簡稱ES6)是于2015年6月正式發布的JavaScript語言的標準,正式名為ECMAScript 2015(ES2015)。它的目標是使得JavaScript語言可以用來編寫復雜的大型應用程序,成為企業級開發語言.
另外,一些情況下ES6也泛指ES2015及之后的新增特性,雖然之后的版本應當稱為ES7、ES8等.
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的兼容性問題
IE10+,chrome,Firefox,移動端,nodesjs現在都支持
兼容低版本的瀏覽器
支持在線轉換(這種編譯會加大頁面渲染的時間)
支持提前編譯(強烈建議這種方式,不影響瀏覽器渲染的時間)
使用babel工具
使用npm進行安裝,npm時隨同nodejs一起安裝的包的管理工具,也就是需要先安裝node
我們可以來安裝一下
我們創建一個普通的項目
進入項目目錄安裝babel
npm install babel-cli -g
安裝完之后會生成相對應的文件
Babel -V 查看babel的環境
因為我在安裝nodejs的時候采用的全局安裝,
在命令行中使用 npm config ls查到npm的默認安裝目錄,
即prefix=C:\Users\xxxx\AppData\Roaming\npm,
然后進入這個目錄使用npm install –-save-dev babel-cli安裝babel,然后就成功了。。
注意AppData是個隱藏文件夾
然后再當前項目下輸入npm init -y 或者是 npm init
這是后說明我們的babel環境搭建好了
可以直接再黑窗口運行這個js文件
使用這個echo .>.babelrc生成一個.Babelrc的文件
然后打開它在里面輸入
{
//設置轉碼規則
“presets”: [“es2015”,“stage-2”],
“plugins”: [“transform-runtime”] //設置插件
}
然后我們安裝需要的插件
npm install babel-core babel-preset-es2015 babel-plugin-transform-runtime babel-preset-stage-2 -save-dev
安裝成功
我們把package.json中的錯誤改一下
這里就是指的將src目錄下的文件轉換編譯成新文件到lib下面
那么我們去創建兩個目錄
,把index.js放到src下面,輸入npm run build 運行,我們會看到自動編譯的效果
轉換的支持條件
let命令
接下來我們來學習一下ES6新增的命令 let
再學習let的時候,我們先來回復一下var的使用方法,這是我們再學習JavaScript的時候經常使用的聲明變量用的
我們運行一下,再控制臺看到輸出
我們刷新一下也面會發現,這個時候輸出的是40
再這邊我們想說的是,再js中var這個使用的方式,可以重復的聲明變量,和其他的編程語言來比較的話,我們發現這是不可以想象的,是不可思議的。并且使用var不可以限制變量,(也就是只有一種var的聲明方式,沒有常量的說法)
我們還可一看到,使用var沒有辦法區分使用區間
let命令 接下來我們在寫個例子來區分一下 let命令
簡單使用的方法
Const命令
const 聲明一個只讀變量,聲明之后不允許改變。意味著,一旦聲明必須初始化,否則會報錯
注意要點:
const 如何做到變量在聲明初始化之后不允許改變的?其實 const 其實保證的不是變量的值不變,而是保證變量指向的內存地址所保存的數據不允許改動。此時,你可能已經想到,簡單類型和復合類型保存值的方式是不同的。是的,對于簡單類型(數值 number、字符串 string 、布爾值 boolean),值就保存在變量指向的那個內存地址,因此 const 聲明的簡單類型變量等同于常量。而復雜類型(對象 object,數組 array,函數 function),變量指向的內存地址其實是保存了一個指向實際數據的指針,所以 const 只能保證指針是固定的,至于指針指向的數據結構變不變就無法控制了,所以使用 const 聲明復雜類型對象時要慎重。
總結
以上是生活随笔為你收集整理的ECMAScript6入门简介篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大学学习论坛 需求分析报告.菜鸟版.多喷
- 下一篇: ES6箭头函数和模板字符串