【发布时间】:2021-06-30 05:20:14
【问题描述】:
在 ES5 规范中,第 11.9.3.4-5 条说:
如果 Type(x) 是 Number 并且 Type(y) 是 String,则返回 比较 x == ToNumber(y)。
如果 Type(x) 是 String 并且 Type(y) 是 Number,返回比较结果 ToNumber(x) == y。
我的理解是:
"" 被强制为数字,变成 0 -> "0"==0
然后递归地将“0”强制为数字并变为0 -> 0==0
所以输出必须是true。
但它是错误。
你能解释一下为什么吗?
console.log("0"=="")
【问题讨论】:
标签: javascript types compare coercion type-coercion