为什么是1=='true'
假的?
如果1=='1'
是真的并且 1==true
是真的。
如果 JavaScript 仅比较值而不比较 ==
中的类型场景。
最佳答案
这是因为类型强制。
实际上,这就是 JavaScript 在使用 ==
运算符时尝试代表您执行的操作。
1 == Number('true'); // 1 == NaN
1 == Number('1'); // 1 == 1
1 == Number(true); // 1 == 1
当使用 ==
比较两种不同类型时,JavaScript 会尝试将它们强制为相同类型进行比较。
您可以在此处阅读有关该算法的更多信息:http://webreflection.blogspot.com/2010/10/javascript-coercion-demystified.html
关于javascript - 如果 1= ='1'//true 并且 1==true//true 那么为什么 1= ='true'//false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34156837/