gpt4 book ai didi

javascript - 为什么在使用比较运算符和使用 !! 时将整数转换为真值的方式不同?在 JavaScript 中

转载 作者:行者123 更新时间:2023-11-29 19:02:55 25 4
gpt4 key购买 nike

为什么返回 false

2 == true

虽然这返回真

!!2

我找不到合适的解释。我很惊讶,因为我认为两者的行为相同。

最佳答案

== 运算符 first converts its operands to the same type (如果它们还没有),然后比较结果值。在 2 == true 的情况下,它会将 true 转换为数字,从而得到值 1。当然 2 == 1false

没有 !! 运算符,只是 ! 运算符连续使用了两次。所以 !!2 实际上是在做 !(!2),即它首先计算 !2 得到 false,然后计算 !false,结果为 true。换句话说,使用 !! 将任何真值转换为实际的 bool 值 true

请注意,所有非零数字都是“真实的”,因此 !anyNumberButZero 将为 false。 (NaN 是一个特例:!NaNtrue。)

关于javascript - 为什么在使用比较运算符和使用 !! 时将整数转换为真值的方式不同?在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539082/

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