Что “?”: нотация в JavaScript?

Я нашел этот отрывок кода в моих перемещениях в исследовании JSON:

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

Я вижу все больше ? и : нотация. Я даже не знаю то, чем это называют для поиска его! Кто-либо может указать на меня на хороший ресурс для этого? (btw, я знаю что != средства).

15
задан user2864740 22 May 2014 в 00:10
поделиться

4 ответа

Он называется условным (тернарным) оператором . По сути, это сжатое if-else.

Итак, это:

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

... то же самое, что и это:

var array;
if (typeof objArray != 'object') {
    array = JSON.parse(objArray);
} else {
    array = objArray;
}
26
ответ дан 1 December 2019 в 00:18
поделиться

Это троичный условный оператор... basically,

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

becomes

a = condition ? 4 : 5;
12
ответ дан 1 December 2019 в 00:18
поделиться

Это называется условный оператор:

условие ? expr1 : expr2

Если условие равно true, оператор возвращает значение expr1; в противном случае он возвращает значение expr2.

11
ответ дан 1 December 2019 в 00:18
поделиться

Прочтите это так:

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

поместите все, что хотите, в 3 оператора.

Как многие сравнивают его со структурой IF .. THEN, так и есть.

2
ответ дан 1 December 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: