我理解使用"==="比较类型,因此运行以下代码会导致"不相等",因为它将数字类型与字符串类型进行比较.
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