为什么这个语句在嵌套对象中返回 true
var value = new Boolean(new Boolean(false)).valueOf();
console.log(value);
我们在创建对象时给出 false。
最佳答案
Why this statement is returning true in nested objects
因为 new Boolean(false)
返回一个不是假值的 bool 对象。
被评价为
new Boolean(new Boolean(false)).valueOf()
new Boolean(<<Boolean Object false>>).valueOf()
(<<Boolean Object true>>).valueOf()
true
编辑
添加信息 @Andreas 评论 - 规范如何支持表达式的评估。
ECMA 2015:7.1.13 ToObject ( argument ) -> 19.3.1 The Boolean Constructor -> 19.3.1.1 Boolean ( value ) -> 7.1.2 ToBoolean ( argument)
关于javascript - 为什么当我们在 Javascript 中放置 false 时 valueOf() 返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48559099/