为什么在Javascript的REPL中返回一个值?
当我在Javascript的REPL(浏览器的控制台或节点)中执行这个expression式时,
if(false) {4} else {5}
它返回5
但我不明白为什么。
一个if
不返回任何东西,例如我不能这样做:
var foo = if(false) {4} else {5}
那么为什么REPL返回一个值?
诚然, if
陈述是陈述,并没有“价值”。 在一个普通的JS脚本中,当if(false) {4} else {5}
被评估时什么都不会发生。
什么样的控制台通常会给你作为返回值是最后评估的expression式的值。
在你的情况下, 5
是评估和返回。