Подтвердить что ты не робот

Что такое "?:" Обозначение в JavaScript?

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

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

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

4b9b3361

Ответ 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, так оно и есть.