Сообщение

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 вида "без точки с запятой" и вычисляемое выражение находятся на одной строке
}

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: pk.prog, naudachu, s1lver
 Обновлялась последний раз: pk.prog,