ES6的嚴格模式


ES6 的模塊自動采用嚴格模式,不管你有沒有在模塊頭部加上"use strict";。

嚴格模式主要有以下限制:

    變量必須聲明后再使用

    函數的參數不能有同名屬性,否則報錯

    不能使用with語句

    不能對只讀屬性賦值,否則報錯

    不能使用前綴0表示八進制數,否則報錯

    不能刪除不可刪除的屬性,否則報錯

    不能刪除變量delete prop,會報錯,只能刪除屬性delete global[prop]

    eval不會在它的外層作用域引入變量

    eval和arguments不能被重新賦值

    arguments不會自動反映函數參數的變化

    不能使用arguments.callee以及arguments.caller

    禁止this指向全局對象

    不能使用fn.caller和fn.arguments獲取函數調用的堆棧

    增加了保留字(比如protected、static和interface)

其中,尤其需要注意this的限制。ES6 模塊之中,頂層的this指向undefined,即不應該在頂層代碼使用this。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM