句子的简写

use*_*627 1 javascript optimization shorthand

我为什么这么问

我在理解ifJavaScript中的句子简写时遇到了很多麻烦,而且我还没有找到一篇很好描述它的文章或教程.这就是为什么我被困在优化我的小代码.我是JavaScript的新手,所以如果有人能够让我对这段代码的缩短有基本的了解,我非常感谢你告诉我代码背后的魔力.

我需要帮助的是什么

我将在许多函数中使用完全相同的代码.因此,我想优化它并使其成为更短的代码版本.

function welcomemessage() {
if (br == 1) {
hello();
}
else {
hey();
}
}
Run Code Online (Sandbox Code Playgroud)

xbo*_*nez 6

使用三元运算符.

function welcomemessage() {  
  (br == 1) ? hello() : hey();
}
Run Code Online (Sandbox Code Playgroud)

三元运算符很有用,并且不难理解.这是它的工作原理.

(condition) ? (true) : (false)
Run Code Online (Sandbox Code Playgroud)

编辑:

由于JS将函数视为第一类对象,因此可以创建包装器.像下面的东西(尽管没有测试过)

function ternaryWrapper(br, functionTrue, functionFalse){
   return (br == 1) ? functionTrue : functionFalse;
}

//call it
ternaryWrapper(2,hello, hey);
Run Code Online (Sandbox Code Playgroud)