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


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

Обновлен: Ноябрь 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.";

Требования

Версия 1

См. также

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

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

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

Ссылки

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