3.2 KiB
title | localeTitle |
---|---|
Ternary Operator | Тернарный оператор |
Оператор Ternary заменяет блок if
/ else
в сжатом формате. Ниже приведен общий формат тернарного оператора.
condition ? expr1 : expr2
Описание
Если условие истинно, оператор разрешает значение expr1; в противном случае он решает значение expr2.
Например, чтобы отобразить другое сообщение, основанное на значении переменной isMember, вы можете использовать этот оператор:
let isMember = true;
let message = isMember ? 'Welcome Back!' : 'You need to login'; // 'Welcome Back'
Другим полезным методом использования оператора Ternary было бы объявить его для условного выполнения функции или метода
function memberOpen(){
console.log("open");
}
function memberClose(){
console.log("close");
}
let isMember = true;
(isMember) ? memberOpen() : memberClose();
Выполнение функций с тройным оператором
Также можно запускать функции с помощью тройного оператора, который иногда может быть полезным и более читаемым. Однако используйте его осторожно, потому что тогда код сложнее отлаживать.
const runFirst = true;
runFirst ? first() : second();
Цепочка с использованием тернарного оператора
Вы также можете неограниченно связывать тройной оператор, аналогично использованию else if's
перед конечным else блока if
else
. Каждый раз, когда двоеточие используется для указания другой части тернарного оператора, новое условие может быть указано до тех пор, пока не будет использовано условие окончательного завершения.
function displayNum(num) {
return num === 3 ? 'number is 3' : num === 2 ? 'number is 2' : num === 1 ? 'number is 1 ' : 'number is not in range';
}
Этот метод следует использовать экономно в правильных местах, как и в случае с несколькими else if's
это иногда может привести к чтению более читаемого кода с помощью оператора switch.
Подробнее: MDN