为什么与null,自动类型转换与不同的二元运算符不同?JavaScript,带“null”的自动类型转换
console.log(null * 8) // => 0 * 8 => 0
console.log(null == 0) // => false
因此与第二条语句,空没有得到类型强制转换为0。
为什么与null,自动类型转换与不同的二元运算符不同?JavaScript,带“null”的自动类型转换
console.log(null * 8) // => 0 * 8 => 0
console.log(null == 0) // => false
因此与第二条语句,空没有得到类型强制转换为0。
null
被强制为+0
进行数字操作。但是,==
不是数字运算符,因此不会执行任何类型的强制转换,因此将null == 0
指定为false
。
语言是这样定义的。你想解决什么问题? – Pointy
没有一个具体的问题,我试图解决,只是好奇为什么语言这样工作。 – Arshaan
http://stackoverflow.com/questions/13407544/why-null-in-javascript-is-bigger-than-1-less-than-1-but-not-equal-to-0 –