Warning: unreachable code after return statement

メッセージ

Warning: unreachable code after return statement (Firefox)

エラータイプ

警告

何がうまくいかなかったのか?

以下のいずれかです:

  • 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 です。
}

関連項目

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,