JS抽象相等比较算法的性能与表达评估

时间:2018-11-27 06:11:00

标签: javascript performance equality

if语句中哪个表达式的运算速度更快?

var test = true;
if( test == true ) {...}

OR

var test = true;
if( test ) {...}

仅获得有关The Abstract Equality Comparison AlgorithmThe Strict Equality Comparison Algorithm的信息

想了解有关如何评估Truthy / Falsy值的更多信息。

感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

第二个示例可能会快一些(但是由于今天通常通常先将JS编译为字节码,然后才对其求值,所以两种情况下生成的字节码可能相同)。

全部以The if statement开始。它的第一步(也是您的示例中唯一会有所不同的步骤)是对括号内的表达式求值。在第二个示例中,该表达式立即被求值为其自身(true)。在第一个示例中,将使用您提到的抽象平等比较算法。它将执行几个步骤,并从步骤1.e返回true。

实际上,我怀疑这种差异是否可以测量。