与一个字符串相等的JavaScript隐式转换

问题描述:

JavaScript的比较true == "true"(0 == "0")的行为如何?与一个字符串相等的JavaScript隐式转换

类型强制意识到运营商(==和!=)可以产生一些奇怪的结果:

'' == '0'   // false 
0 == ''   // true 
0 == '0'   // true 

false == 'false' // false 
false == '0'  // true 

false == undefined // false 
false == null  // false 
null == undefined // true 

' \t\r\n ' == 0 // true 

的===与==全等运算总是preferred

当使用==或!=如果这些类型的两个表达式是不同的它会尝试将它们转换为字符串,数字或布尔等

但是你可以使用身份比较===或! ==没有完成类型转换,并且类型必须相同才能被视为相同。