当我在Javascript的REPL(浏览器的控制台或节点)中执行此表达式时

if(false) {4} else {5}

它返回5,但我不明白为什么。

if不返回任何内容,例如,我无法执行任何操作:

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

那么,REPL为什么返回一个值?

最佳答案

确实,if语句是语句,并且没有“值”。在普通的JS脚本中,评估if(false) {4} else {5}不会发生任何事情。

控制台通常给您的返回值是最后一个求值表达式的值。

在您的情况下,5被评估并返回。

07-24 09:47
查看更多