1.塊級函數
"use strict"; if (true) { function f() { } // 語法錯誤 }
es5中嚴格模式下禁止聲明塊級函數,而在es6的嚴格模式中可以聲明塊級函數,並可以在塊級作用
'use strict' var b= true; if(b){ function test(){ console.log('我是塊級函數') } test(); //可以正常運行 } console.log(typeof test) //塊級作用域外無法訪問
2. 箭頭函數
箭頭函數是es6中新增的一種特殊函數,不管是否處於嚴格模式下,一個箭頭函數中的參數不能有同名的。而ES5中,只有在嚴格模式下函數的參數才不能有同名
3.字面量對象重復屬性問題
es5的嚴格模式中,如果對象屬性重名則會報錯,es6則不管是不是嚴格模式,如果有同名屬性,則后面的屬性覆蓋前面的
4.模塊模式
采用es6的模塊化開發時,代碼自動運行在嚴格模式下且沒有任何辦法跳出嚴格模式
5.類模式
在es6中不管是類聲明還是類表達式,其內部使用的都是嚴格模式。