javascript - 为什么这会在 Javascript 的 REPL 中返回一个值?

标签 javascript node.js browser

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

if(false) {4} else {5}

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

if 没有返回任何内容,例如我不能这样做:

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

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

最佳答案

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

控制台通常为您提供的返回值是最后计算的表达式的值。

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

关于javascript - 为什么这会在 Javascript 的 REPL 中返回一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44440826/

相关文章:

javascript - 主干js事件绑定(bind)

javascript - 子性能变化的 polymer 变化事件

javascript - 如何在函数中使用 ng-tags-input 添加或删除标签

node.js - 带有 node js pg 驱动程序的 CockroachDB

node.js - 错误: Cannot find module 'async_hooks' in NodeJs

java - GWT SinkEvent 在 Firefox 上除外

jquery - 浏览器生成的随机 <li> 标签

javascript - 无法在 Select2 中设置多个值

node.js - 在 Angular 应用程序中实现服务的正确方法是什么?

PHP - get_browser() 结果