deno.com

禁止内部声明

注意:此规则是 recommended 规则集的一部分。
deno.json 中启用完整集合
{
  "lint": {
    "rules": {
      "tags": ["recommended"]
    }
  }
}
使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
通过将其添加到 deno.json 文件中的 includeexclude 数组中,此规则可以被显式地包含或排除在当前标签中的规则之外。
{
  "lint": {
    "rules": {
      "include": ["no-inner-declarations"],
      "exclude": ["no-inner-declarations"]
    }
  }
}

禁止在嵌套块中定义变量或函数。

在嵌套块中声明函数可能导致代码可读性降低,并可能由于不同 JavaScript 运行时中的兼容性问题而产生意外结果。这不适用于在嵌套块上下文中有效的具名函数或匿名函数。

在嵌套块中使用 var 声明的变量也可能导致代码可读性降低。由于这些变量会被提升(hoist)到模块根部,为了清晰起见,最好在那里声明它们。请注意,使用 letconst 声明的变量是块级作用域的,因此此规则不适用于它们。

无效示例

if (someBool) {
  function doSomething() {}
}

function someFunc(someVal: number): void {
  if (someVal > 4) {
    var a = 10;
  }
}

有效示例

function doSomething() {}
if (someBool) {}

var a = 10;
function someFunc(someVal: number): void {
  var foo = true;
  if (someVal > 4) {
    let b = 10;
    const fn = function doSomethingElse() {};
  }
}

您找到所需内容了吗?

隐私政策