gpt4 book ai didi

Javascript 数组等于零但本身不等于

转载 作者:数据小太阳 更新时间:2023-10-29 05:49:24 25 4
gpt4 key购买 nike

我一直在 JavaScript 中使用数组,但无法弄清楚为什么会这样:

console.log(0 == 0)
//true

console.log([] == 0)
//true

console.log(0 == [])
//true

console.log([] == [])
//false

console.log([] == ![])
// true

空数组左右都等于0,但为什么不等于自己呢?

我意识到比较两个对象不会得到 true,但如果你比较它们为什么会被强制为 0(或 falsy,这不应该是这种情况)它们为 0,如果将它们与另一个数组进行比较,则将它们视为一个对象?

最佳答案

console.log(0 == [])
//true

您正在尝试将对象与整数进行比较,因此您的对象被隐式类型转换为等效的整数值 0

console.log([] == [])
//false

因为两个对象永远不相等

关于Javascript 数组等于零但本身不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41360850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com