Тернарный оператор в JavaScript

Пусть у нас есть следующий код, проверяющий есть ли уже пользователю 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 меньше нуля.

Замечания

Тернарный оператор следует использовать только в самых простых случаях, так как его использование затрудняет понимание кода.