ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の `return` ステートメントが時々 `unknown` を返すのはなぜですか?

JavaScript の `return` ステートメントが時々 `unknown` を返すのはなぜですか?

DDD
DDDオリジナル
2024-11-05 16:14:02263ブラウズ

Why Does JavaScript's `return` Statement Sometimes Return `undefined`?

JavaScript の謎の return ステートメントの難題

次の JavaScript コード スニペットを考えてみましょう:

function correct() {
  return 15;
}

function wrong() {
  return 15;
}

console.log("correct() called : " + correct());
console.log("wrong() called : " + wrong());

驚くべきことに、正しい()は期待値 15 を返しますが、wrong() は未定義を返します。この動作は他のほとんどのプログラミング言語とは異なり、なぜこのようなことが起こるのか疑問に思っています。

技術的な説明: 目に見えないセミコロン

JavaScript のセミコロンはオプションであり、インタープリタは特定の改行文字にそれらを自動的に挿入します。ただし、インタプリタの仮定は常に私たちの意図と一致するとは限りません。

wrong() の場合、return ステートメントの後に改行が続きます。これによりセミコロンの挿入がトリガーされ、次のコードが生成されます:

function wrong() {
  return;
  15;
}

問題の詳細: Return 構文

return ステートメントの直後に次のコードを続ける必要があります。戻り値。間違った() では、return の後のセミコロンでステートメントが終了し、次の行が切断されたままになります。

解決策: 式を括弧で囲む

この混乱を避けるために、次のようにします。

function wrong() {
  return (
    15
  );
}

括弧は、インタプリタによるセミコロンの挿入を防ぎ、式が正しく評価されることを保証します。

TypeScript の推論を理解する

JavaScript の型付きスーパーセットである TypeScript は、上記のコードでコンパイラ エラーを発行し、正しい return ステートメント構文の重要性を強調しています。これは、JavaScript で関数を定義する際のこのような考慮事項の重要性を強調しています。

以上がJavaScript の `return` ステートメントが時々 `unknown` を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。