猿问

【JavaScript】[] == [] 与 [] === [] 返回 false 的原因

[] == [];[] === [];

都返回false


[]===[]
原因猜测是
相同类型的非原始类型,判断他们的指向是否相同,这里两个 [] 各自创建了一个新的底层数组 所以返回不同


[] == []
返回 false 我无法理解
相同类型直接判断值的话应该返回 true

而按照 == 的隐式转换原则
[] 会调用 toString() 方法,得到 ''空字符串。
两边的 [] 都会得到 '' 然后再转换为数字 0
这样的话 不该返回 true 么


桃花长相依
浏览 632回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答