Javascript 抽象等式比较算法与表达式求值的JS性能

Javascript 抽象等式比较算法与表达式求值的JS性能,javascript,performance,equality,Javascript,Performance,Equality,if语句中的哪个表达式计算速度更快 var test = true; if( test == true ) {...} 或 只有关于和的信息 想了解更多关于如何评估Truthy/Falsy值的信息 感谢您的帮助 谢谢第二个例子可能会快一点(但由于现在JS通常先编译成字节码,然后才进行计算,所以在这两种情况下生成的字节码很可能是相同的) 一切都是从你开始的。它的第一步(也是示例中唯一不同的一步)是计算括号内的表达式。在第二个示例中,表达式立即计算为自身(true)。在第一个示例中,将使用您提到的

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

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

只有关于和的信息

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

感谢您的帮助


谢谢第二个例子可能会快一点(但由于现在JS通常先编译成字节码,然后才进行计算,所以在这两种情况下生成的字节码很可能是相同的)

一切都是从你开始的。它的第一步(也是示例中唯一不同的一步)是计算括号内的表达式。在第二个示例中,表达式立即计算为自身(true)。在第一个示例中,将使用您提到的抽象等式比较算法。它将执行几个步骤,并从步骤1.e返回true


在实践中,我怀疑这种差异是否可以测量。

我觉得要检查Truthy/Falsy,我们需要先检查类型,然后再检查是否存在多个if条件。我只是想知道我应该在我的库中使用哪一个。如果我们将问题改为“我应该使用什么”,那么答案肯定是“如果(测试)”变体。从性能的角度来看,这没有什么区别。从可读性的角度来看,这是几乎所有其他人都会期待的符号。
var test = true;
if( test ) {...}