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 特點分類 (參考資料)

以實例逐一比較ES6與ES5: ECMAScript 6 — New Features: Overview & Comparison