關於ES6新特性我就不廢話太多了,這裏僅簡單羅列一下:
html
箭頭函數
node
類es6
加強的Object字面量 shell
模板字符串npm
解構瀏覽器
參數默認值,不定參數,拓展參數babel
let與const 關鍵字異步
for of 值遍歷函數
模塊工具
Map和Set類型
Proxies
Symbols
Math,Number,String,Object 的新API
Promises異步對象
參考1:http://www.cnblogs.com/Wayou/p/es6_new_features.html
參考2:http://babeljs.io/docs/learn-es2015/
因爲目前主要瀏覽器不可以徹底支持ES6,所以一般藉助一些工具將ES6語法翻譯成ES5,Babel便是這樣一款工具。
最新的Babel 6與Babel 5及更早的版本有很大的差異,Babel變成了一個平臺,而其餘各類工具則以插件的形式安裝。
經過控制檯全局安裝babel:
npm install -g babel-cli
此時,全局安裝的模塊默認位於「C:\Users\zhl\AppData\Roaming\npm\node_modules」(Windows系統),爲了正常使用Babel,必定要添加環境變量「NODE_PATH」,並指向上述路徑。
爲了使用Babel的翻譯功能,安裝ES6翻譯插件(仍然全局安裝):
npm install -g babel-preset-es2015
此時,在任意工做目錄,創建src和lib兩個文件夾,而且在src文件夾中創建.babelrc文本文件,寫入以下內容啓用ES6翻譯預設配置:
{ "presets": ["es2015"] }
此時,在命令行中,CD到當前工做目錄,運行以下命令:
babel src --watch --out-dir lib
此時,在src文件夾中,創建的任何擴展名爲js(或者es6)的文件均會被翻譯成ES5語法,並將輸出的文件保存到lib文件夾下,因爲啓用了--watch參數,任何修改均會被當即翻譯。
再補充以下幾個經常使用命令:
翻譯指定文件:babel script.js --out-file script-compiled.js
當文件改動時自動翻譯:babel script.js --watch --out-file script-compiled.js
翻譯文件夾下全部JS:babel src --out-dir lib
包含map文件:babel script.js --out-file script-compiled.js --source-maps
Polyfill是一個插件,用於提供那些開發者們但願瀏覽器原生提供支持的功能。Babel翻譯後的JS部分仍須要基於Polyfill才能正常運行,所以,若是是在瀏覽器環境中,應在全部腳本以前引入polyfill.js。
使用以下命令全局安裝polyfill插件:
npm install -g babel-polyfill
安裝完畢後應該能夠在C:\Users\zhl\AppData\Roaming\npm\node_modules\babel-polyfill\dist中找到polyfill.min.js文件。