我知道===
的含义:它会检查操作数是否相同,所以
1 === '1'
会提供false
和1 == '1'
将提供true
,但typeof 1
为number
且typeof '1'
为string
,那么JavaScript如何比较1 == '1'
?有没有转换?如果是的话,哪些?
答案 0 :(得分:3)
如果类型是数字和字符串,
JavaScript会将字符串转换为数字。
比较x == y,其中x和y是值,产生true或 假。这样的比较如下进行:
...
5。如果Type(x)是Number而Type(y)是String,则返回结果 比较x == ToNumber(y)。 6.如果Type(x)是String而Type(y)是 数字,返回比较结果ToNumber(x)== y。
答案 1 :(得分:0)
您可以1 == parseInt("1")
将字符串解析为整数。
答案 2 :(得分:0)
使用String()
在进行比较之前,它会将输入转换为字符串。
示例:
var test1= 1;
var test2= "1";
var answer = String(test1) === String(test2);
在这种情况下,答案将是正确的。