禁止重复声明
注意: 此规则是
recommended规则集的一部分。在
deno.json 中启用完整集合{
"lint": {
"rules": {
"tags": ["recommended"]
}
}
}使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
通过将其添加到
deno.json中的include或exclude数组,可以将此规则显式地包含或排除在当前标签中的规则之外。{
"lint": {
"rules": {
"include": ["no-redeclare"],
"exclude": ["no-redeclare"]
}
}
}禁止重新声明同名变量、函数和参数。
JavaScript 允许我们使用var重新声明同名变量,但应避免使用重新声明,因为它会使变量难以追踪。
此外,此 lint 规则也禁止使用let或const进行重新声明,尽管 ESLint 允许。这很有用,因为我们可以在实际运行代码之前发现语法错误。
至于函数和参数,JavaScript 仅将它们视为运行时错误,在运行时抛出SyntaxError。静态地检测这类错误也很有益。
无效示例
var a = 3;
var a = 10;
let b = 3;
let b = 10;
const c = 3;
const c = 10;
function d() {}
function d() {}
function e(arg: number) {
var arg: number;
}
function f(arg: number, arg: string) {}
有效示例
var a = 3;
function f() {
var a = 10;
}
if (foo) {
let b = 2;
} else {
let b = 3;
}