【发布时间】:2020-12-11 12:48:01
【问题描述】:
我的代码是:
console.log(JSON.stringify([new Number(3), new Boolean("true"), new String("X")]));
console.log(JSON.stringify([new Number(3), new Boolean("false"), new String("X")]));
输出是:
[3, true, "X"]
[3, true, "X"]
为什么第二个输出显示true 而不是false?我是JS新手,请原谅我的错误。
【问题讨论】:
-
因为您将真实值传递给布尔构造函数。通过前。 0 为假。
-
"假" !== 假
-
它应该是 new Boolean(false) for false。
-
@SaadKhalid 是的,你可以传递一个字符串。但是,该值将根据其真实性进行转换。
0和1也会发生同样的事情——前者是假的,后者是真的。然而,结果是一个布尔对象,而不是一个原始对象。
标签: javascript boolean