我使用JSLint通过JavaScript,它返回了许多建议,以取代 ==(两个平等的标志)与 ===(三个平等的标志)当做一些事情,如比较idSele_UNVEHtype.value.length == 0在一个假设声明。

能否取代 = = = = = = =?

任何性能改进都将被欢迎,因为有许多比较运营商。

如果没有类型转换发生,会有超越 ==的性能收益吗?


当前回答

=== 运营商检查值以及变量的类型,以便平等。

操作员只检查平等变量的值。

其他回答

因此,新 String(“Hello world”) ===“Hello world”返回虚假,但是, ==不关心如果对象是相同的,它只是将一个论点转换为另一个类型:如果转换是不可能的,返回虚假。

“我要在JavaScript比较中使用 ==或 ===”的辩论是相同或类似于一个问题:“我要用一个“<unk>”或一个“<unk>”吃。

这个问题的唯一合理答案是:

您应该使用动态类型比较,例如:==为空白类型比较,您应该使用静态类型比较,例如:===为强大的类型比较。

这是因为他们不是相同的,他们没有相同的目的,并且不应该用于相同的目的。

當然,兩個「<unk>」和「<unk>」都是用於「吃」的,但你會選擇根據你所服用的食物使用它們。

在您的使用中,不可能有两项操作之间的性能差异. 没有类型转换要进行,因为两项参数已经是相同的类型. 两项操作将有一个类型比较,其次是值比较。

不同之間的 =, =, = =

= 操作员 只用来指定值 = = 操作员 只用来比较不数据型值 = = 操作员 只用来比较值和数据型值。

=== 运营商检查值以及变量的类型,以便平等。

操作员只检查平等变量的值。