bugfix> javascript > 投稿
var f1 = () => {
    return undefined;
};
var f2 = () => {
};
var a = f1(); // undefined
var b = f2(); // undefined

結果は知っていますが、もっと詳しく知りたいです。 Javascript関数では、 undefined を返すのと同じreturnステートメントはありません ?

回答 3 件
  • I know the results but I want to know more in-depth. Is that mean in Javascript functions, no return   return undefined と同一のステートメント ?

    それは事実上、 はい。仕様ではこの2つを区別していますが、実際的な用語では、「終わりから落ちる」対 return; の関数を呼び出します  vs. return undefined;  呼び出しの結果が何であるかに関して、すべてがまったく同じ最終結果を持ちます: undefined

    dupetargetへの私の答えで(気付いたはず!) 仕様がそれらをどのように区別するかを説明しますが、繰り返しますが、それは単なる仕様の違いであり、実際のコードで観察できるものではありません。

  • 場合によります。

    インスタンスとして使用されない関数の場合、デフォルトの戻り値は undefined です 。

    new で呼び出されるコンストラクターの場合 、 this を返します  デフォルトとしてのオブジェクト。

    ソース:

    Function

    return

    new

  • 戻りがない場合、戻り値は未定義 基本的に戻りを行うのと同じです。 (値なし)関数が終了すると「戻る」ため(関数は返す情報についてhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/returnを参照)

    関数を(クラスのように)初期化すると、返される値はこの関数のインスタンスになります。

あなたの答え