Пусть у нас есть следующий код, проверяющий
есть ли уже пользователю 18
лет или нет:
let age = 17;
let adult;
if (age >= 18) {
adult = true;
} else {
adult = false;
}
console.log(adult);
Как вы видите, конструкция if-else
нужна только для того, чтобы записать определенное
значение в переменную adult
.
Для таких задач, когда у нас в условии происходит только запись одной переменной, существует более короткое решение через так называемый тернарный оператор. Его синтаксис таков:
let переменная = условие ? значение1 : значение2;
Оператор работает так: если условие истинно,
то возвращается значение1
, в противном
случае - значение2
. Давайте перепишем
приведенный в самом начале урока код через
тернарный оператор:
let age = 17;
let adult = age >= 18 ? true: false;
console.log(adult);
Можно, кстати, не записывать результат в переменную, а сразу вывести в консоль:
let age = 17;
console.log( age >= 18 ? true: false );
Пусть дана переменная num
, которая
может быть либо отрицательной, либо положительной.
Запишите в переменную result
число
1
, если переменная num
больше
или равна нулю, и число -1
, если переменная
num
меньше нуля.
Замечания
Тернарный оператор следует использовать только в самых простых случаях, так как его использование затрудняет понимание кода.