global-strict
global-strict:在全局范围内要求或禁止严格模式指令
这条规则在 ESLint v1.0 中被删除
,并被严格的规则取代
。"global"
新规则中的选项与删除
的规则最为相似。
通过在代码中使用以下附注来启用严格模式:
"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 0.8.0 中引入,并在 1.0.0-rc-1 中删除。