2

私はこれを実装したいと思います:

//foo is a boolean
if(foo){
    count++;
} else {
    count--;
}

ワンライナーでこれをどのように書くことができますか?

4

7 に答える 7

11

foo ? count++ : count--;

これは三項演算子と呼ばれます。Javascript 三項演算子での演算子の優先順位を参照してください。

最も簡単な説明は次のとおりです。 if this ? then this : else this

于 2012-04-27T04:18:01.400 に答える
9

これを試して:

count += foo ? 1 : -1
于 2012-04-27T04:16:39.517 に答える
5

短絡評価と JavaScriptの動的型付けを使用すると、これが最短になります。

count += foo || -1;
于 2012-04-27T04:52:07.503 に答える
3

最も簡単なのは、現在持っているロジックを保持して、3 進数に変換することです。

count += foo ? 1 : -1;

于 2012-04-27T04:17:48.910 に答える
1

具体的には、または次fooのように数値として扱うことができます。10

count += 2 * foo - 1;
于 2012-04-27T04:15:44.103 に答える
0
 count = (foo) ? count+1 : count-1;
于 2012-04-27T04:16:24.617 に答える
0

これを試してください:

foo ? count++ : count--;
于 2012-04-27T04:17:05.500 に答える