no-unreachable
Recommended
Disallows the unreachable code after the control flow statements.
Disallows the unreachable code after the control flow statements.
Because the control flow statements (return, throw, break and continue)
unconditionally exit a block of code, any statements after them cannot be
executed.
Invalid:
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");
Valid
function foo() {
return bar();
function bar() {
return 1;
}
}