Тернарный условный оператор

Тернарный условный оператор (Ternary Conditional Operator) это специальный оператор с тремя частями, которые принимают форму question ? answer1 : answer2. Это упрощенный вариант для оценки одного из двух выражений, основанный на тот верно или нет выражение question . Если question верно (true), выполняется answer1 и возвращает значение; если не верно, то считается и возвращается значение answer2.

Тернарный условный оператор это упрощение для следующего кода:

Следующий пример, который подсчитывает пиксели высоты для ячейки таблицы (table row). Высота строки должна быть выше на 50 пикселей, чем высота контента, если у ячейки есть заголовок. И на 20 пикселей выше, если у ячейки нет заголовка:

Предшествующий пример это сокращенный вариант кода :

Первый пример использования тернарного условного оператора означает, что rowHeight может установлен в нужное значение в единственной строке кода. Это более кратко, чем второй пример и позволяет rowHeight быть не переменной, а константой, поскольку её значение не будет изменено внутри if.

Тернарный условный оператор предоставляет эффективный способ решения какое из двух выражений принять. Используйте тернарный оператор с осторожностью. Его сжатость может привести к трудночитаемости кода. Избегайте комбинирование нескольких экземпляров тернарного оператора в одном сравнении.


Просмотренно: 1 558 раз