跳至内容

eslint/no-inner-declarations 吹毛求疵

它的作用是什么

禁止在嵌套块中声明变量或函数

这有什么不好?

变量声明允许出现在语句可以出现的位置,甚至能深层嵌套在其他块中。由于变量提升,这种情况通常是不希望发生的,而且将声明移动到程序或函数体中可以提高清晰度。请注意,块绑定(let、const)不会提升,因此不受此规则影响。

范例

javascript
if (test) {
  function doSomethingElse() {}
}

参考

以麻省理工学院许可证发布。