在JS中, 0 == [0] 吗
在不知道答案的情况下, 你觉得这段代码的输出是什么
我当时觉得是false, 结果我错了–^^–
那为什么输出是true呢
因为==的隐式类型转换,== 运算符会尝试将两个操作数转换为相同的类型,然后再进行比较。
在这个例子中,0 是一个数字,而 [0] 是一个数组。根据 JavaScript 的类型转换规则,数组会被转换为字符串。数组的 toString() 方法会将数组的内容转换为字符串,因此 [0] 会被转换为 "0"。
然后,== 运算符会将字符串 "0" 转换为数字 0,因为 == 运算符允许这种隐式转换。因此,0 == "0" 的结果是 true。
总结一下,console.log(0 == [0]) 为 true 的原因是:
- 数组
[0]被转换为字符串"0"。 - 字符串
"0"被转换为数字0。 - 数字
0等于数字0,所以结果是true。 
