gpt4 book ai didi

javascript - 在 if 语句中使用 "!!"不是多余的吗,因为 if 语句已经检查是否为真?

转载 作者:行者123 更新时间:2023-12-04 17:10:09 24 4
gpt4 key购买 nike

根据我的理解,!! 是确保值是 Boolean 类型的首选方法。所以在很多情况下 !! 是适合使用的。但是,在 if 语句中对值使用 !! 不是多余的吗,因为 if 语句已经检查是否为真?

var user = 'username123'

if (!!user) {
// arbitrary code
}

所以,我知道我在这里使用了一个字符串,但实际上变量的类型无关紧要,因为我假设使用 !! 的全部意义在于确保 < strong> bool 类型。换句话说,!!user 只是执行 Boolean(user) 的另一种方式。在仔细阅读了 If..else 的 MDN 文档后,很明显 if 语句已经做到了这一点。那么为什么在 if 语句中需要 !! 呢?还是我错了,!! 实际上将值转换为 bool 类型比 if 语句完成的类型强制更准确或不同?还是我大部分时间都是对的,但也有异常(exception)情况,即转换会导致不同的 bool 值?

最佳答案

是的,这是多余的。 if 语句条件总是被强制转换为 bool 值。这同样适用于三元运算符。

关于javascript - 在 if 语句中使用 "!!"不是多余的吗,因为 if 语句已经检查是否为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69622934/

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