Поделиться через


Условный (троичный) оператор (?:)

Возвращает одно из двух выражений в зависимости от условия.

test ? expression1 : expression2

Аргументы

  • тест
    Любое логическое выражение.

  • expression1
    Выражение, возвращаемое, если test равно true. Может быть выражением с запятыми.

  • expression2
    Выражение, возвращаемое, если test равно false. Может быть выражением с запятыми.

Заметки

Оператор ?: можно использовать в качестве ярлыка для оператора if...else. Обычно он используется в качестве части более крупного выражения, когда использование оператора if...else нецелесообразно. Пример.

var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");

Данный пример создает строку, содержащую "Good evening.", если позже 18 часов. Эквивалентный код с использованием оператора if...else будет таким.

var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
   greeting += " evening.";
else
   greeting += " day.";

Требования

Версия 1

См. также

Ссылки

Оператор if...else

Основные понятия

Приоритет операторов

Сводные сведения об операторах