global-strict
在全域作用域中要求或禁止嚴格模式指令。
嚴格模式透過在您的程式碼中使用以下編譯指示來啟用
"use strict";
當在全域使用時,如此範例所示,嚴格模式編譯指示會套用到單一檔案中的所有程式碼。如果您在將腳本串連在一起後再提供給瀏覽器,這可能會很危險。例如,如果您有一個以嚴格模式運行的檔案,並且將該檔案與 jQuery 串連,則嚴格模式現在也會套用到 jQuery,並可能導致錯誤。
然而,如果您使用 Node.js,您可能會想要在全域開啟嚴格模式。檔案通常不會在 Node.js 專案中串連在一起,因此意外套用嚴格模式的風險很小。此外,由於 Node.js 中的每個檔案都有自己的作用域,全域嚴格模式僅影響放置它的單一檔案。
規則詳細資訊
此規則在全域作用域中要求或禁止由 "use strict"
編譯指示所調用的全域嚴格模式。
以下模式在全域嚴格模式下,並且在使用 "always"
選項時被視為有效,而在使用 "never"
選項時則為警告。
"use strict";
function foo() {
return true;
}
以下模式僅將嚴格模式套用於函式,因此在使用 "never"
選項時有效,但在使用 "always"
選項時則會出現問題。
function foo() {
"use strict";
return true;
}
(function() {
"use strict";
// other code
}());
選項
"global-strict": ["error", "always"]
要求每個檔案都必須有一個頂層 "use strict"
陳述式。
"global-strict": ["error", "never"]
當在全域作用域中使用 "use strict"
時發出警告,因為它可能會污染串連的檔案。
何時不該使用
當專案可能並排使用非嚴格模式程式碼和嚴格模式程式碼,且檔案未串連時,是否使用全域嚴格模式的決定可以個別做出,因此這個規則變得不必要。
版本
此規則在 ESLint v0.8.0 中引入,並在 v1.0.0-rc-1 中移除。