Eslint参考手册
规则 | Rules
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中引入的。
资源
- Rule source
- Documentation source
规则 | Rules相关

ESLint 是一个代码规范和错误检查工具,有以下几个特性。所有东西都是可以插拔的。你可以调用任意的 rule api 或者 formatter api 去打包或者定义 rule or formatter。任意的 rule 都是独立的。没有特定的 coding style,你可以自己配置。
主页 | https://eslint.org/ |
源码 | https://github.com/eslint/eslint |
发布版本 | 4.12.0 |