Javascript '==';和'===';?

Javascript '==';和'===';?,javascript,Javascript,我遵循始终使用绝对比较“==”的惯例,但一些有学问的同事认为,在您对特定比较类型非常自信的情况下,这是在类型检查上不必要地浪费计算时间 所以我的问题是,;在比较期间,always类型检查值实际上是否有任何显著的性能影响?在jsperf有一个测试: 看一看,自己试试看: 编辑:正如@dystroy在下面的评论中提到的那样,=和=之间没有显著的性能差异。它们之间唯一的区别是类型比较=即使这两种条件的类型不同,也可以使用比较=比较仅接受两个相同类型条件之间的比较。示例:当可以将int和char与=进行

我遵循始终使用绝对比较“==”的惯例,但一些有学问的同事认为,在您对特定比较类型非常自信的情况下,这是在类型检查上不必要地浪费计算时间


所以我的问题是,;在比较期间,always类型检查值实际上是否有任何显著的性能影响?

在jsperf有一个测试:

看一看,自己试试看:


编辑:正如@dystroy在下面的评论中提到的那样,
=
=
之间没有显著的性能差异。它们之间唯一的区别是类型比较<代码>=即使这两种条件的类型不同,也可以使用比较<代码>=比较仅接受两个相同类型条件之间的比较。示例:当可以将
int
char
=
进行比较时,
==
比较不能使用。

如果对象已经是相同类型的,则可能没有显著的性能差异。在进行数据比较之前,两个运算符都必须查找并比较两个参数的类型


如果对象的类型不同,
==
应该快一点,因为它可以立即返回
false
,而
=
将强制其中一个参数为另一个类型,然后执行比较。

是否尝试测量性能差异?
=
强制值以执行检查,因此,也可以提出一个有利于
==
的论点。看看“…显著的性能差异…”很可能不是。但是您自己试试:。术语“显著的性能差异”在特定代码的上下文之外没有任何意义。您使用的相等运算符很可能不会成为性能瓶颈,但这要视情况而定。这不取决于浏览器吗?的确但是所有的测试都会被记录下来,所以你也可以看到不同浏览器之间的差异图表。这不是最终的答案,但至少你可能会有一个想法。是的,会的。因此,您需要在不同的浏览器上运行它,以查看它在all/some/none中是否更好。此测试在测试需要更改类型的情况时具有误导性。一个更好的版本是一个对严格版本具有不公平优势的版本。我测试了中描述的大多数步骤