- 哪些值会被转换为false(使用boolean)?
null,undefined,0,[],‘’,NaN - 哪些值使用==会与false相等?
0,‘’,‘ ’,[],[‘’],‘0’ - JavaScript中 0==null为何是false?
为什么会出现这种反常结果,这是因为相等性检查 == 和普通比较符 > < >= <= 的代码并不是同一套。进行值的比较时,null 会被转化为数字,因此它被转化为了 0。这就是为什么 null >= 0 返回值是 true,null > 0 返回值是 false。另一方面,undefined 和 null 在相等性检查 == 中不会进行任何的类型转换(关键),它们有自己独立的比较规则,所以除了它们之间互等外,不会等于任何其他的值。这就解释了为什么(2)中 null == 0 会返回 false。
关于JavaScript的隐式转换
于 2023-08-08 13:47:17 首次发布