JavaScriptのreturnがあるなしでの違い

function sum(a, b){

  console.log(a + b);

}
console.log(sum(400, 500));

}

このようなコードがあるとき
関数の中にreturnがないとき
console.log(sum(400, 500));

は返り値がないため
undefinedになる。
これは仕様ということで覚えるしかない。

JavaScriptにおいて、関数内でreturn文がない場合、その関数の返り値は暗黙的にundefinedになる。これはJavaScriptの仕様。

console.log(sum(300, 700));がundefinedを返すことで不都合が生じる場合としては、次のような状況が考えられます:

関数が値を返すことを期待しているが、実際にはundefinedが返ってきてしまうため、予期しない挙動を引き起こす場合がある。例えば、関数の返り値を変数に代入して後で利用する場合など。
プログラムの流れが意図せずに続行されることがある。特に非同期処理などで関数が期待通りに値を返さない場合、次の処理が予期せず早く始まる可能性がある。

この記事を書いた人

ともひろ