Оператор ?:

Для проверки условия вместо оператора if можно использовать оператор ?:. Оператор имеет следующий формат:

<Переменная> = (<Логическое выражение>) ? <Выражение если Истина> :
                                          <Выражение если Ложь>;

Если логическое выражение возвращает значение true, то выполняется выражение, расположенное после вопросительного знака. Если логическое выражение возвращает значение false, то выполняется выражение, расположенное после двоеточия. Результат выполнения выражений становится результатом выполнения оператора. Пример проверки числа на четность и вывода результата:

let x = 10;
console.log( (x % 2 == 0) ? `${x} - четное число` : 
                            `${x} - нечетное число`);

Обратите внимание на то, что в качестве операндов указываются именно выражения, а не инструкции. Кроме того, выражения обязательно должны возвращать какое-либо значение. Так как оператор возвращает значение, его можно использовать внутри выражений:

let x, y;
x = 0;
y = 30 + 10 / (!x ? 1 : x);   // 30 + 10 / 1
console.log(y);               // 40
x = 2;
y = 30 + 10 / (!x ? 1 : x);   // 30 + 10 / 2
console.log(y);               // 35

В качестве операнда можно указать функцию, которая возвращает значение:

function func1(x) {
   console.log(`${x} - четное число`);
   return 0;
}
function func2(x) {
   console.log(`${x} - нечетное число`);
   return 0;
}
let x = 11;
(x % 2 == 0) ? func1(x) : func2(x);

Как видно из примера, значение, возвращаемое оператором, можно проигнорировать.

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов