Книга: JavaScript. Подробное руководство, 6-е издание
4.13.1. Условный оператор (?:)
4.13.1. Условный оператор (?:)
Условный оператор - это единственный тернарный (с тремя операндами) оператор в JavaScript, и иногда он так и называется - «тернарный оператор». Этот оператор обычно записывается как ?:
, хотя в программах он выглядит по-другому. Он имеет три операнда, первый предшествует символу ?, второй - между ? и :, третий - после :. Используется он следующим образом:
х > 0 ? х : -х // Абсолютное значение х
Операнды условного оператора могут быть любого типа. Первый операнд вычисляется и используется как логическое значение. Если первый операнд имеет истинное значение, то вычисляется и возвращается значение выражения во втором операнде. Если первый операнд имеет ложное значение, то вычисляется и возвращается значение выражения в третьем операнде. Вычисляется всегда только какой-то один операнд, второй или третий, и никогда оба.
Тот же результат можно получить с помощью инструкции if
, но оператор ?:
часто оказывается удобным сокращением. Ниже приводится типичный пример, в котором проверяется, определена ли переменная (и имеет истинное значение), и если да, то берется ее значение, а если нет, берется значение по умолчанию:
greeting = "hello " + (username ? username : "there");
Эта проверка эквивалентна следующей конструкции if, но более компактна:
greeting = "hello";
if (username)
greeting += username;
else
greeting += "there";
- Оператор цикла foreach
- A7.11. Оператор побитового И
- 2.1.3. Оператор варианта (переключатель)
- 2.1.2. Неполный условный оператор
- ОПЕРАТОРЫ
- 4.4.1. Условный налоговый зачет
- Оператор-выражение
- Условный оператор if
- Оператор перехода goto
- A7.13. Оператор побитового ИЛИ
- 2.1.1. Альтернатива (условный оператор)
- А7.16. Условный оператор