gpt4 book ai didi

javascript - javascript null 零比较差异背后的原因是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 06:06:38 26 4
gpt4 key购买 nike

我是在 Jeff Atwood 的背后问这个问题 tweet它显示了 javascript 中 null/zero 比较的以下结果:

null zero comparison in javascript

我以前见过这个,虽然很有趣,但我想知道这种行为背后是否真的有逻辑或推理?

最佳答案

0 == null 永远不会 true。通过“松散比较”,null 仅等于其自身或等于 undefined

但是,关系运算符首先将其操作数转换为数字,如果其中任何一个是数字。因此,由于 0 是一个数字,因此 null 被转换为一个数字。 null 的数学值为 0。所以你最终比较

0 > 0     // nope
0 >= 0 // yes
0 == null // nope, null is only equal to null and undefined
0 <= 0 // yes
0 < 0 // nope

这些规则都定义在ECMAScript specification中(它们是否有意义是另一个问题)。

关于javascript - javascript null 零比较差异背后的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24172397/

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