Приоритет операторов определяет порядок, в котором операторы выполняются. Операторы с более высоким приоритетом выполняются первыми.
Интерактивный пример
Ассоциативность
Ассоциативность определяет порядок, в котором обрабатываются операторы с одинаковым приоритетом. Например, рассмотрим выражение:
a OP b OP c
Левая ассоциативность (слева направо) означает, что оно обрабатывается как (a OP b) OP c
, в то время как правая ассоциативность (справа налево) означает, что они интерпретируются как a OP (b OP c)
. Операторы присваивания являются право-ассоциативными, так что вы можете написать:
a = b = 5;
с ожидаемым результатом, что a
и b
будут равны 5. Это происходит, потому что оператор присваивания возвращает тот результат, который присваивает. Сначала b
становится равным 5, затем a
принимает значение b
.
Примеры
3 > 2 && 2 > 1
// вернёт true
3 > 2 > 1
// вернёт false, потому что 3 > 2 возвращает true, в свою очередь true > 1 вернёт false
// Добавление скобок значительно повышает читаемость выражения: (3 > 2) > 1
Copy to Clipboard
Таблица
Операторы упорядочены с самого высокого (19) до самого низкого (1) приоритета см. Таблицу