ES6 嚴格模式

2021-08-26 02:46:37 字數 655 閱讀 6232

es6 的模組自動採用嚴格模式,不管你有沒有在模組頭部加上"use strict";

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

1. 塊級函式

"use strict";

if (true) // 語法錯誤

}

es5中嚴格模式下禁止宣告塊級函式,而在es6的嚴格模式中可以宣告塊級函式,並可以在塊級作用

'use strict'

var b= true;

if(b)

test(); //可以正常執行

} console.log(typeof test) //塊級作用域外無法訪問

2. 箭頭函式

箭頭函式是es6中新增的一種特殊函式,不管是否處於嚴格模式下,箭頭函式的引數都不能有同名的。而es5中,只有在嚴格模式下函式的引數才不能有同名

3.字面量物件重複屬性問題

es5的嚴格模式中,如果物件屬性重名則會報錯,es6則不管是不是嚴格模式,如果有同名屬性,則後面的屬性覆蓋前面的

4.模組模式

採用es6的模組化開發時,**自動執行在嚴格模式下且沒有任何辦法跳出嚴格模式

5.類模式

在es6中不管是類宣告還是類表示式,其內部使用的都是嚴格模式。

ES6中嚴格模式

從es5開始,函式內部就可以設定為嚴格模式。function x,y es6將其做了一些規定,只要函式引數使用了預設值,解構賦值,擴充套件運算子,那麼函式內部就不能顯式設定嚴格模式了,否則會報錯。function dosomething a,b a const dosomething functio...

ES6系列 ES6簡介

2015年6月17日,ecmascript的第六個版本正式發布,該版本正式名稱為ecmascript 2015,但通常被稱為ecmascript 6或者es6。瀏覽器對es6的支援情況 es6主要應用於node.js,如果想用在瀏覽器中,就需要使用轉碼器 將es6 轉成es5 這意味著,可以用es6...

ES5 嚴格模式

在es5中可以開啟一種嚴格模式的 形式,開啟方式是 將全域性或者函式的第一條語句定義為 use strict 如果瀏覽器不支援,會將其解析為一條普通語句,沒有任何的 開啟全域性模式後會有一下的一些約束 1.第一次定義變數的時候必須使用var。如 test heihei alert test 該語句在...