虽然很清楚如何使用===
运算符来处理数字是有用的(0
,null
和undefined
都是虚假值,这可能会导致混淆),我不确定是否有利于使用===
进行字符串比较。在JavaScript中使用===进行字符串比较是否合理?
我的一些队友使用这个算子进行所有的比较,但它真的有意义吗?是否至少有一些次要的性能影响?
虽然很清楚如何使用===
运算符来处理数字是有用的(0
,null
和undefined
都是虚假值,这可能会导致混淆),我不确定是否有利于使用===
进行字符串比较。在JavaScript中使用===进行字符串比较是否合理?
我的一些队友使用这个算子进行所有的比较,但它真的有意义吗?是否至少有一些次要的性能影响?
如果您知道类型相同,那么==
和===
之间的算法没有区别。
也就是说,当我看到==
时,我假设我将它用于它的类型强制,这使我停止并分析代码。
当我看到===
我知道没有强制意图,所以我不需要再考虑。
换句话说,我只使用==
如果我想打算因为有某种类型的强制。
在JavaScript中总是使用===
进行比较被认为是很好的做法。由于JavaScript是一种动态语言,因此您认为两个字符串可能是不同类型的变量。
考虑以下几点:
var a = "2", b = 2;
a == b // true
a === b // false
只有这样,才能保证false
结果在这种情况下会比较两个值时使用===
。
只是作为性能的补充 - http://jsperf.com/xgghyt – 2012-07-27 13:50:24