谁能一句话给我解释下?
javascript吧
全部回复
仅看楼主
level 1
Vzz1c 楼主
[]==![] //true
[]==[] //false
{}==!{} //false
{}=={} //false
{}==true //false
!{}==true //false
!{} //false
{}==true //false
{}==!{} //false
{}===!{} //false
{}=={} //false
{}==={} false
if ({}) {console.log("true")}
2021年01月04日 14点01分 1
level 12
2021年01月04日 23点01分 2
level 12
// 根据转换规则
[]==![] //true 步骤[]==false []==0 ''==0 0==0
[]==[] //false 数组也是特殊的对象 对比的是内存地址
{}==!{} //false 步骤{}==false {}==0 '[object Object]'==0 NaN==0
{}=={} //false 同上对象是引用类型对比的是内存地址
{}==true //false 步骤{}==1 '[object Object]'==1 NaN==1
!{}==true //false 步骤false==true
!{} //false 步骤!布尔运算符非(求反) 除'' 0 false null undefined NaN为false值其他为true值
{}==true //false 重复了吧 不在解释
{}==!{} //false 也重复了
{}===!{} //false 有用严格等于 类型也要一样 {}===false 类型不相等直接为false 其他的想都不用想
{}=={} //false 重复了
{}==={} false 对象引用类型对比的是内存地址
if ({}) {console.log("true")} // 你就想象隐式转换Boolean({}) 上面也说了除'' 0 false null undefined NaN为false值 其他为true值 [吃瓜]
2021年01月05日 01点01分 3
1