我想实现这个:
//foo is a boolean
if(foo){
count++;
} else {
count--;
}
我怎么能用一个班轮写这个?
答案 0 :(得分:11)
foo ? count++ : count--;
这称为三元运算符,请参阅Operator precedence with Javascript Ternary operator
最简单的解释是:
if this ? then this : else this
答案 1 :(得分:9)
试试这个:
count += foo ? 1 : -1
答案 2 :(得分:5)
使用short-circuit evaluation和javascripts dynamic typing这应该是最短的:
count += foo || -1;
答案 3 :(得分:3)
最简单的方法是保留现有的逻辑并转换为三元:
count += foo ? 1 : -1;
答案 4 :(得分:1)
您可以将foo
视为一个数字,具体为1
或0
:
count += 2 * foo - 1;
答案 5 :(得分:0)
count = (foo) ? count+1 : count-1;
答案 6 :(得分:0)
请试试这个:
foo ? count++ : count--;