使用 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
因为 true
是 not 错误的。类似地,(true && 0)
将评估为 0
。
关于javascript - 在 JavaScript 中,为什么 (undefined && true) 返回 undefined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22767602/