2012-07-27 53 views
4

虽然很清楚如何使用===运算符来处理数字是有用的(0,nullundefined都是虚假值,这可能会导致混淆),我不确定是否有利于使用===进行字符串比较。在JavaScript中使用===进行字符串比较是否合理?

我的一些队友使用这个算子进行所有的比较,但它真的有意义吗?是否至少有一些次要的性能影响?

回答

9

如果您知道类型相同,那么=====之间的算法没有区别。

也就是说,当我看到==时,我假设我将它用于它的类型强制,这使我停止并分析代码。

当我看到===我知道没有强制意图,所以我不需要再考虑。

换句话说,我只使用==如果我想打算因为有某种类型的强制。

+1

只是作为性能的补充 - http://jsperf.com/xgghyt – 2012-07-27 13:50:24

-2

在JavaScript中总是使用===进行比较被认为是很好的做法。由于JavaScript是一种动态语言,因此您认为两个字符串可能是不同类型的变量。

考虑以下几点:

var a = "2", b = 2; 
a == b // true 
a === b // false 

只有这样,才能保证false结果在这种情况下会比较两个值时使用===