2017-06-08 8 views
1

私はJavascriptのREPL(ブラウザのコンソールまたはノード)これはJavascriptのREPLで値を返すのはなぜですか?

if(false) {4} else {5}

にこの式を実行すると、それは5を返しますが、私は理由を理解していません。

ifは私が行うことができないexempleのために、何を返していません。

var foo = if(false) {4} else {5}

なぜREPLが値を返すのですか?

答えて

3

ifステートメントはステートメントであり、 "値"を持たないことは事実です。通常のJSスクリプトでは、if(false) {4} else {5}を評価すると何も起こりません。

通常、戻り値としてあなたが与えるコンソールは、最後に評価された式の値です。

あなたのケースでは、5が評価され、返されます。

関連する問題