虽然很清楚如何使用===
运算符数字非常有用(0
,null
和undefined
都是假值,可能导致混淆),我不确定使用===
是否有好处字符串比较。
我的一些队友使用此运算符进行所有比较,但它确实有意义吗?是否至少会有一些轻微的性能影响?
答案 0 :(得分:9)
如果您知道类型相同,那么==
和===
之间的算法没有区别。
那就是说,当我看到==
时,我认为我正在使用它来进行类型强制,这使我停下来分析代码。
当我看到===
时,我知道没有强制意图,所以我不需要再考虑一下。
换句话说,如果我打算,我只会使用==
来进行某种类型的强制。
答案 1 :(得分:-2)
始终使用===
进行JavaScript比较被认为是一种好习惯。由于JavaScript是一种动态语言,因此您认为两个字符串可能是不同类型的变量。
请考虑以下事项:
var a = "2", b = 2;
a == b // true
a === b // false
在这种情况下保证false
结果的唯一方法是在比较这两个值时使用===
。