如果outcome既不是1也不是-1,我希望我的三元运算符不做任何事情
outcome === 1 ? playerScore++ : outcome === -1 ? compScore++ : DO_NOTHING;
Run Code Online (Sandbox Code Playgroud)
我意识到我可以写一个0代替DO_NOTHING但是有没有更好的方法来确保在需要时什么都不会发生?
编辑:DO_NOTHING只是一个占位符,可能的解决方案什么都不做.目前我已经写了0而不是它.
......但有没有更好的方法来确保在需要时什么都不会发生?
不使用条件运算符,不; 你必须在那里有东西.0和其他任何东西一样好.或者如zfrisch所说,你可以使用&&而不是第二个条件(详见答案).
这是一个风格问题,但"更好的方法"是首先使用if或者switch不是条件运算符.
if (outcome == 1) {
playerScore++;
} else if (outcome == -1) {
compScore++;
}
Run Code Online (Sandbox Code Playgroud)
要么
switch (outcome) {
case 1:
playerScore++;
break;
case -1:
compScore++;
break;
}
Run Code Online (Sandbox Code Playgroud)
如果你想将它压缩成交货,那就是minifiers/uglifiers /压缩机的用途.:-)