javascript - 为什么当我们在 Javascript 中放置 false 时 valueOf() 返回 true

标签 javascript

为什么这个语句在嵌套对象中返回 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/

相关文章:

javascript - 仅显示当前鼠标悬停 div :jQuery 的子级

javascript - 查找数组中不同的元素并返回其位置

javascript - 监听 Dojo 解析器完成的小部件初始化的结束

javascript - Google map 空闲事件未触发

javascript - $location.search() - 如何在 $scope.$watch 函数内使用范围内的参数?

javascript - Google Apps 脚本预填写表单 - 无法编辑表单

javascript - 在 Three.js 中创建带圆 Angular 的立方体

Javascript 火焰粒子效果不起作用?

javascript - WebStorm 尝试打开 Chrome 进行调试

javascript - 如何在 javascript 中同时获取所有元素 ID?