三元语句比javascript中的if/then/else语句更快吗?

rjk*_*lan 7 javascript performance ternary-operator

我看到了很多:

var something = (is_something_true()) ? 3 : 4;
Run Code Online (Sandbox Code Playgroud)

在javascript中.这比这快吗?

var something;
if (is_something_true()) {
    something = 3;
} else {
    something = 4;
}
Run Code Online (Sandbox Code Playgroud)

还是为了方便起见而简洁明了?

Hog*_*gan 6

请享受这一点——如果差异在统计上是有效的,那么结果(真或假)也很重要——显然这只是机器上对浏览器性能有影响的其他东西:

链接在这里

不同的结果!

两者之间有根本区别,三元语句是表达式而不是控制流。如果有人将它写成三元表达式而不是标准 if / than / else 的情况,当两者都工作相同时,它们(在我看来)会使代码在没有充分理由的情况下更难阅读。

在速度方面应该没有区别。除非您使用的是非常糟糕的 javascript 实现。两个语句中最慢的部分是分支。