use*_*627 1 javascript optimization shorthand
我为什么这么问
我在理解ifJavaScript中的句子简写时遇到了很多麻烦,而且我还没有找到一篇很好描述它的文章或教程.这就是为什么我被困在优化我的小代码.我是JavaScript的新手,所以如果有人能够让我对这段代码的缩短有基本的了解,我非常感谢你告诉我代码背后的魔力.
我需要帮助的是什么
我将在许多函数中使用完全相同的代码.因此,我想优化它并使其成为更短的代码版本.
function welcomemessage() {
if (br == 1) {
hello();
}
else {
hey();
}
}
Run Code Online (Sandbox Code Playgroud)
使用三元运算符.
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)