Синтаксис JavaScript Справочник JavaScript Коды клавиш События Строгий режим

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



Оператор Тип оператора А О Типы значений
… ? … : … Тернарный оператор справа налево 3 любое, любое, любое→любое

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

Первый операнд используется в качестве условия, он вычисляется и преобразуется (если необходимо) в булево значение. Если первый операнд вычисляется как true, то вычисляется и возвращается значение второго операнда. Если первый операнд вычисляется как false, то вычисляется и возвращается значение третьего операнда:

alert(true ? 5 : 10);    // 5
alert(false ? 5 : 10);   // 10

Помимо первого операнда, вычисляется всегда только какой-то один операнд – второй или третий и никогда оба:

var num = 10;

alert(true ? 1 : ++num);   // 1
alert(num);                // 10

Тернарный оператор имеет ассоциативность справа налево, поэтому следующие два выражения эквивалентны:

a?b:c?d:e?f:g
a?b:(c?d:(e?f:g))

Если тернарные операторы вложены в другие тернарные операторы, то для удобства чтения такого кода лучше использовать пробельные символы:

var i = 5;

var x = (i == 3) ? 'значение1' :
        (i == 5) ? 'значение2' :
        (i > 6)  ? 'значение3' : 'значение4';

alert(x);   // 'значение2'
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | Обратная связь