javascript - 在 JavaScript 中,为什么 (undefined && true) 返回 undefined?

标签 javascript node.js

使用 node.js 控制台( Node 0.10.24)

> var x = (undefined && true);
undefined
> x;
undefined
> x = (true && undefined);
undefined
> x;
undefined

为什么比较返回未定义?我希望它返回 false,因为 undefined 被认为是“错误的”。

最佳答案

&& 运算符通过 internally 将表达式的值强制为 bool 值进行,但运算符的 result 始终是实际的,第一个失败的表达式的非强制值(即,这是错误的)。

因此 (true && undefined) 将导致 undefined 因为 truenot 错误的。类似地,(true && 0) 将评估为 0

关于javascript - 在 JavaScript 中,为什么 (undefined && true) 返回 undefined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22767602/

相关文章:

javascript - 在 SVG 动画中围绕舞台原点以外的位置旋转路径

javascript - 从表单外部的字段发送数据

javascript - 如何设置ajax超时?

node.js - 如何使用带有 typescript 和 out 文件夹的 yarn 工作区?

javascript - Javascript WebSocket 客户端的 nginx 代理

javascript - onload 事件在内容加载前触发

javascript - Node.js create-react-app 构建

node.js - Mongoose:从现有数据生成模式

javascript - 在node.js中显示javascript对象内容

Javascript Ascii 编码