no-unreachable
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
因为return
,throw
,break
,和continue
语句无条件退出的代码块,之后他们的任何语句可以不被执行。无法访问的声明通常是一个错误。
function fn() {
x = 1;
return x;
x = 3; // this will never execute
}
规则细节
这条规则不允许可达代码后return
,throw
,continue
,和break
语句。
此规则的错误代码示例:
/*eslint no-unreachable: "error"*/
function foo() {
return true;
console.log("done");
}
function bar() {
throw new Error("Oops!");
console.log("done");
}
while(value) {
break;
console.log("done");
}
throw new Error("Oops!");
console.log("done");
function baz() {
if (Math.random() < 0.5) {
return;
} else {
throw new Error();
}
console.log("done");
}
for (;;) {}
console.log("done");
由于 JavaScript 函数和变量提升,此规则的正确代码示例如下:
/*eslint no-unreachable: "error"*/
function foo() {
return bar();
function bar() {
return 1;
}
}
function bar() {
return x;
var x;
}
switch (foo) {
case 1:
break;
var x;
}
版本
这条规则是在 ESLint 0.0.6中引入的。
资源
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com