# Ternary Operators

Тернарный оператор работает с тремя операндами. 

В большинстве [ЯП](/2%20ComputerScience/2.2%20Languages/2.2.1%20TypesOfLanguages.md) (н/р: C, Java, Python) тернарный оператор используется для сокращённой записи условного выражения. Пример: `let result = (a > b) ? a : b`

![TernaryOperator](/pictures/ComputerScience/TernaryOperator.jpg?raw=true)

## В чем отличие от паттерна обычного if?

Внутри тернарника нельзя использовать разные типы. Н/р error: `isEnable ? "Эл" : 123`

## Глоссарий

**Приоритетность (precedence)**: какой оператор выполняется 1м среди разных операторов при отсутствии группирующих скобок. Н/р, 3 + 5 * 2

**Ассоциативность**: порядок выполнения операторов одного приоритета.
Н/р, a ?? b ?? c ?? 10 - ?? выполняется справо налево

В выражении A + B:

* `A` и `B`     — это **операнды**.
* `+` или `==`  — это **оператор**, который выполняет операцию сложения.
---

[2.1.3.3 Binary Operators Theme](./2.1.3.3%20Binary.md) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) | [2.1.4 LeetCode Theme Folder](../2.1.4%20Leetcode/)