请参考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?";
}
我错过了什么吗?不应该在布尔构造函数中输入与在if语句中隐式执行的相同的强制吗?
答案 0 :(得分:2)
df %>%
group_by(HouseholdID) %>%
mutate(under_18 = ifelse(any(Age < 18), 'Y', 'N'))
没有输入强制类型,它会输入 conversion ,这意味着类型转换是显式的而不是隐式的。
从here开始,布尔的工作原理如下:&#34;如果省略值或者是0,-0,null,false,NaN,undefined或空字符串(&#34;&#34) ;),该对象的初始值为false。&#34;
此外,&#34;不要将原始布尔值true和false与布尔对象的true和false值混淆。&#34;。换句话说,布尔构造函数返回一个Boolean对象,而Boolean对象的值由上述规则确定。