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

