Что такое "?:" Обозначение в JavaScript?
Я нашел этот фрагмент кода в своих путешествиях при исследовании JSON:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
Я вижу все больше и больше обозначений ?
и :
. Я даже не знаю, как это называется, чтобы посмотреть! Может ли кто-нибудь указать мне хороший ресурс для этого? (Кстати, я знаю, что означает !=
).
Ответы
Ответ 1
Он называется Условный (тройной) оператор. Это по существу сжатое if-else.
Итак, это:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
... то же самое:
var array;
if (typeof objArray != 'object') {
array = JSON.parse(objArray);
} else {
array = objArray;
}
Ответ 2
Это тернарный условный оператор -
в основном,
if (condition) {
a = 4;
}
else {
a = 5;
}
становится
a = condition ? 4 : 5;
Ответ 3
Thats называется условным оператором :
condition ? expr1 : expr2
Если condition
- true
, оператор возвращает значение expr1
; в противном случае он возвращает значение expr2
.
Ответ 4
Просто прочитайте его вот так:
result = (condition) ? (true value) : (false value);
укажите, что вам нравится в 3 операторах.
Как многие сравнили его с структурой IF.. THEN, так оно и есть.