20

JSON を調査しているときに、次のコード スニペットを見つけました。

var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;

?and:表記をよく見かけます。調べると何と呼ばれているのかもわからない!誰かがこれのための良いリソースを教えてくれますか? (ところで、私は何!=を意味するか知っています)。

4

4 に答える 4

30

条件付き (三項) 演算子と呼ばれます。これは本質的に、凝縮された if-else です。

したがって、この:

var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;

...これと同じです:

var array;
if (typeof objArray != 'object') {
    array = JSON.parse(objArray);
} else {
    array = objArray;
}
于 2010-07-23T22:01:25.093 に答える
12

これは三項条件演算子です -- 基本的に、

if (condition) {
   a = 4;
}
else {
   a = 5;
}

になる

a = condition ? 4 : 5;
于 2010-07-23T22:02:21.737 に答える
11

これは条件演算子と呼ばれます:

condition ? expr1 : expr2

の場合、演算子は の値を返しconditionます。それ以外の場合は、 の値を返します。trueexpr1expr2

于 2010-07-23T22:01:45.873 に答える
2

次のように読んでください。

result = (condition) ? (true value) : (false value);

3 つの演算子に好きなものを配置します。

多くの人がそれを IF.. THEN 構造と比較してきたように、その通りです。

于 2010-07-24T00:22:12.073 に答える