ECMAScript 6 前言
標準官方名稱:ECMAScript 2015
正式發布時間:2015年6月
更新目的:讓Javascript更適合開發複雜的大型開發專案, 成為企業等級的開發語言
ECMAScript的歷史演進可參考: 從ECMAScript看語言約束、 從ES6規範看JavaScript的現在和未來
ECMAScript 5 主要特點:
- 可宣告嚴格模式:加入
'use strict',無法使用不良的語法, 加強範疇(scope)跟命名空間(namespace)的管理。- 識別字名稱限制
- 變數使用var需告
- 不能使用with
- 不能有重複參數或屬性名稱
- 不能與保留字或識別字命名衝突
- eval函式評估出來的變數不能在外部使用
- 不允許this指向的物件是null或undefined (使用bind, call, apply等函式固定this的對象)
- 嚴格模式搭配以下函式可避免直接修改物件的行為與結構:
Object.preventExtensions- 阻止對物件直接進行擴充Object.defineProperty/Object.defineProperties- 指定特性是否可修改、刪除或列舉Object.seal- 彌封物件,能擴充或刪除物件上的特性Object.freeze- 凍結物件,讓物件成為唯讀物件
ECMAScript 6 特點分類 (參考資料) :
- 新的型別、修飾詞 - let、const、Rest、Spread、Map & Set、Symbol、Proxy、Promise ...
- 既有型別或物件的擴充 - String、Object、Array、Number、Math
- 簡便的寫法與用法 - Default function paremeter、 For-of & Iterator、Destruturing、Arrow function、Generator
- 結構化的應用 - Class、Module
以實例逐一比較ES6與ES5: ECMAScript 6 — New Features: Overview & Comparison