是否有一个强制执行的规则,要求在块的顶部声明变量? vars-on-top
规则似乎只适用于var
关键字,而不是我想要的(例如,它将禁止for (var i = 0; ...)
。这是一个人为的示例。
错误代码
doWork() {
const work = this.getWork();
if (work.isReady) { ... }
let workResult = work.getResult();
// ...
return workResult;
}
好代码
doWork() {
const work = this.getWork();
let workResult;
if (work.isReady) { ... }
workResult = work.getResult();
// ...
return workResult;
}
答案 0 :(得分:4)
我不知道有什么规则。
var
规则有一个非常重要的目的:防止由于var
的非明显提升行为而意外引入错误。该规则迫使您自行抬高他们,使行为明显(如果仍然令人讨厌)
使用let
和const
that's no longer an issue,因此强制执行该行为的主要实际原因不再存在。在定义变量之前使用变量仍然是一个问题,但是有一个no-use-before-define
rule可以处理该变量(包括let
和const
在内)。