Warning: unreachable code after return statement
Сообщение
Warning: unreachable code after return statement (Firefox)
Предупреждение: недоступный код после оператора return (Firefox)
Тип ошибки
Предупреждение
Что пошло не так?
Недоступный код после оператора return
может возникнуть в следующих ситуациях:
- когда в коде программы есть какие-либо выражения после оператора
return
- когда используется оператор
return
без точки с запятой, но далее непосредственно за ним следует выражение.
Когда присутствует выражение после оператора return
, то выдаётся предупреждение о том, что код программы после return
недоступен, то есть он никогда не запустится и не выполнится.
Почему нужно ставить точку с запятой после оператора return
? В случае оператора return
без точки с запятой, совсем неясно, хотел ли разработчик вернуть результат, вычисляемый в следующей строке, или же он хочет остановиться сейчас и выйти из подпрограммы. Предупреждение указывает на неопределённость результата работы оператора return
.
Предупреждение не появится для оператора return
без точки с запятой, если за данной строкой следуют:
Примеры
Неверные варианты
function f() {
var x = 3;
x += 4;
return x; //return завершает функцию немедленно,
x -= 3; //поэтому эта строка никогда не запустится; она недоступна
}
function f() {
return; //эта строка трактуется как завершение функции оператором `return;`,
3 + 4; //поэтому происходит выход из функции, и эта строка не выполнится
}
Верные варианты
function f() {
var x = 3;
x += 4;
x -= 3;
return x; //OK: return находится после всех остальных выражений
}
function f() {
return 3 + 4; //OK: return без точки с запятой и вычисляемое выражение находятся на одной строке
}