true 为什么会发生这种情况? 最-6ren">
gpt4 book ai didi

javascript - 为什么 !"0"== "0"为真?

转载 作者:行者123 更新时间:2023-12-01 02:29:56 25 4
gpt4 key购买 nike

我正在使用 JavaScript,并且遇到了这个错误,原因是“then”句子中输入了“0”和!“0”。当我在控制台中尝试时,我看到:

!"0" == "0" -> true

为什么会发生这种情况?

最佳答案

!"0" 将字符串 "0" 转换为 bool 值,并取反。因此,由于 "0" 为真(唯一的假字符串是空字符串),因此它的否定是 bool 值 false。需要明确的是:

!"0" 转换为 false

由于我们将 bool 值 false 与字符串 "0" 进行比较,因此 javascript 会将这两个值转换为数字。请参阅 this documentation 中的表格看看哪些类型在比较时被转换为什么。您会注意到,对于 bool 值和字符串,两者都会更改为数字,然后进行比较。

总而言之,我们有 !"0",其计算结果为 false。然后我们将其与另一个字符串进行比较:“0”。因为一个是 bool 值,另一个是字符串,所以它们会转换为数字。 false 的数字转换为 0"0" 的数字转换为 0,两者相等。这样我们就得到了你看到的结果。

关于javascript - 为什么 !"0"== "0"为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48387423/

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