gpt4 book ai didi

javascript - "20"和 20 在 JavaScript 中如何被视为相等?

转载 作者:搜寻专家 更新时间:2023-11-01 04:44:13 25 4
gpt4 key购买 nike

我知道使用“===”比较类型,所以运行以下代码会导致“不等于”,因为它比较的是数字类型和字符串类型。

var a = 20;
var b = "20";
if (a === b) {
alert("They are equal");
} else {
alert("They are not equal");
}

但我不明白如何使用“==”仅比较值会导致“它们相等”消息。

var a = 20;
var b = "20";
if (a == b) {
alert("They are equal");
} else {
alert("They are not equal");
}

值如何相等?字符串“20”不是存储为 ASCII 字符 50 和 48(二进制为 0110010 和 0110000)和 20 存储为实际二进制数 0010100 吗?

编辑:谢谢大家!我认为所有的回复都很好,帮助我更好地理解了这一点。

最佳答案

== 运算符只比较变量的值。如果类型不同,则进行转换。所以数字 20 被转换为字符串 "20"并比较结果。

=== 运算符不仅比较值,还会比较类型,因此不进行强制转换。在这种情况下 "20"!== 20

关于javascript - "20"和 20 在 JavaScript 中如何被视为相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/257078/

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