当我在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
被评估并返回。