首页 > 解决方案 > 什么语法最适合用于内部具有一项功能的 if 语句?

问题描述

例如:

if (e.keyCode === 13) {
  foo();
}

或者

e.keyCode === 13 ? foo() : null;

我知道这仅适用于具有单一功能的 if 语句,但为了可读性和减少代码行,我认为第二个示例更有意义。这是我一直以来的好奇心,只是想知道是否有任何理由选择一种风格而不是另一种风格。提前感谢您的任何回复!

标签: javascriptif-statementsyntaxcoding-style

解决方案


您错过了使用逻辑 AND&&运算符的第三种方法,例如

e.keyCode === 13 && foo()

这个表达式的这个主要结果要么是,要么false是调用的结果foo

如果从未使用过结果并且编译器应该评估表达式,则可以将void运算符与表达式一起使用。

void e.keyCode === 13 && foo();

这会强制表达式计算并返回undefined


如果您不需要使用表达式的结果,

if (e.keyCode === 13) foo();

是最简短易懂的陈述。


推荐阅读