gpt4 book ai didi

javascript - 使用 bool 构造函数和内部 if 的类型强制有什么区别

转载 作者:行者123 更新时间:2023-12-02 14:33:34 25 4
gpt4 key购买 nike

请引用这里的jsfiddle,https://jsfiddle.net/reuk08ob/html: <div id="abc"></div>JavaScript:

if(null==false){
document.getElementById("abc").innerHTML="hello, null == true coerced";
}else if(Boolean(null)==false ){
document.getElementById("abc").innerHTML="hello, boolean constructor coercion worked! previous one did not,strange, both should do the same, shouldn't they?";
}

我错过了什么吗? bool 构造函数不应该执行与 if 语句中隐式执行的类型强制相同的操作吗?

最佳答案

Boolean 不执行类型强制,它执行类型转换,这意味着类型转换是显式的而不是隐式的。

来自here , bool 值的工作方式如下:“如果 value 被省略或者为 0、-0、null、false、NaN、未定义或空字符串 (""),则该对象的初始值为 false。”

此外,“不要将原始 bool 值 true 和 false 与 Boolean 对象的 true 和 false 值混淆。”。换句话说,Boolean构造函数返回一个Boolean对象,并且该Boolean对象具有由上述规则确定的值。

关于javascript - 使用 bool 构造函数和内部 if 的类型强制有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37645597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com