Eslint
规则 | Rules

block-scoped-var

将var作为块作用域(block-scoped-var)

block-scoped-var变量在定义块的外部使用时,规则会生成警告。这模拟了C风格的块范围。

规则细节

规则旨在减少绑定上下文之外的变量的使用,并从其他语言模拟传统的块范围。这是为了帮助语言新手避免变量提升的难题。

规则的错误代码示例:

/*eslint block-scoped-var: "error"*/ function doIf() { if (true) { var build = true; } console.log(build } function doIfElse() { if (true) { var build = true; } else { var build = false; } } function doTryCatch() { try { var build = 1; } catch (e) { var f = build; } }

规则的正确代码示例:

/*eslint block-scoped-var: "error"*/ function doIf() { var build; if (true) { build = true; } console.log(build } function doIfElse() { var build; if (true) { build = true; } else { build = false; } } function doTryCatch() { var build; var f; try { build = 1; } catch (e) { f = build; } }

进一步阅读

版本

该规则在ESLint 0.1.0中引入。

资源