Eslint
规则 | Rules

no-unreachable

disallow unreachable code after return, throw, continue, and break statements (no-unreachable)

"extends": "eslint:recommended"配置文件中的属性启用此规则。

因为returnthrowbreak,和continue语句无条件退出的代码块,之后他们的任何语句可以不被执行。无法访问的声明通常是一个错误。

function fn() { x = 1; return x; x = 3; // this will never execute }

规则细节

这条规则不允许可达代码后returnthrowcontinue,和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中引入的。

资源