現在使用的js語法,基本是ES5的規範 ,15年出的ES6的規範增加了很多其他語法,要看瀏覽器的支持情況,如果瀏覽器不支持那麼就會報錯 ES6 塊級作用域 關鍵字let, 常量const,對象字面量的屬性賦值簡寫,賦值解構,函數參數 - 預設值、參數打包、 數組展開(Default 、Rest 、S ...
現在使用的js語法,基本是ES5的規範 ,15年出的ES6的規範增加了很多其他語法,要看瀏覽器的支持情況,如果瀏覽器不支持那麼就會報錯
ES6 塊級作用域 關鍵字let, 常量const,對象字面量的屬性賦值簡寫,賦值解構,函數參數 - 預設值、參數打包、 數組展開(Default 、Rest 、Spread),
箭頭函數 Arrow functions,字元串模板 Template strings,Iterators(迭代器)+ for..of,生成器 (Generators),class,Modules,Map + Set + WeakMap + WeakSet,Promises是處理非同步操作的對象,Symbol是一種基本類型通過調用symbol函數產生,Symbol是一種基本類型。Symbol 通過調用symbol函數產生 等
一、桌面端瀏覽器對ES2015的支持情況
Chrome:51 版起便可以支持 97% 的 ES6 新特性。
Firefox:53 版起便可以支持 97% 的 ES6 新特性。
Safari:10 版起便可以支持 99% 的 ES6 新特性。
IE:Edge 15可以支持 96% 的 ES6 新特性。Edge 14 可以支持 93% 的 ES6 新特性。(IE7~11 基本不支持 ES6)
二、移動端瀏覽器對ES2015的支持情況
iOS:10.0 版起便可以支持 99% 的 ES6 新特性。
Android:基本不支持 ES6 新特性(5.1 僅支持 25%)
三、伺服器對ES2015的支持情況
Node.js:6.5 版起便可以支持 97% 的 ES6 新特性。(6.0 支持 92%)
附:如何使用ES6的新特性,又能保證瀏覽器的相容?
針對 ES6 的相容性問題,很多團隊為此開發出了多種語法解析轉換工具,把我們寫的 ES6 語法轉換成 ES5,相當於在 ES6 和瀏覽器之間做了一個翻譯官。比較通用的工具方案有 babel,jsx,traceur,es6-shim 等