Условный (троичный) оператор (?:)
Обновлен: Ноябрь 2007
Возвращает одно из двух выражений в зависимости от условия.
test ? expression1 : expression2
Аргументы
test
Любое логическое выражение.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.";
Требования
См. также
Основные понятия
Сводные сведения об операторах