JavaScript имеет полный набор операторов: арифметические, логические, поразрядные и присваивания. Кроме этого, есть несколько дополнительных операторов.
Вычислительные
Логические
Поразрядные
Присваивание
Дополнительные
Описание
Символ
Описание
Символ
Описание
Символ
Описание
Символ
Описание
Символ
Унарное отрицание
-
Логическое NOT
!
Поразрядное NOT
~
Присваивание
=
delete
delete
Инкремент
++
Меньше
<
Поразрядное смещение влево
<<
Сложное присваивание
OP=
typeof
typeof
Декремент
--
Больше
>
Поразрядное смещение вправо
>>
void
void
Умножение
*
Меньше или равно
<=
Беззнаковое смещение вправо
>>>
Деление
/
Больше или равно
>=
Поразрядное AND
&
Деление по модулю
%
Равенство
==
Поразрядное XOR
^
Сложение
+
Неравно
!=
Поразрядное OR
|
Вычитание
-
Логическое AND
&&
Логичесое OR
||
Условный оператор (тринарный)
?:
Запятая
,
Тождественность
===
Не тождественность
!==
Старшинство операторов
Операторы в JavaScript оцениваются в определенном порядке. Этот порядок известен, как старшинство операторов. В нижеследующей таблице перечислены операторы в порядке от самого старшего до самого низшего. Операторы в одном ряду оцениваются слева на право.
Оператор
Описание
. [] ()
Доступ к разрядам, индексирование массива, вызов функции
++ -- - ~ ! typeof new void delete
Унарные операторы, тип возвращаемых данных, создание объекта, неопределенные значения
* / %
Умножение, деление, деление по модулю
+ - +
Сложение, вычитание, строковая конкатенация
<< >> >>>
Поразрядное смещение
< <= > >=
Меньше, меньше и равно, больше, больше и равно
== != === !==
Эквивалентность, неравно, идентичность, не идентичность
&
Поразрядное AND
^
Поразрядное XOR
|
Поразрядное OR
&&
Логическое AND
||
Логическое OR
?:
Условный оператор
= OP=
Присваивание, присваивание с операцией
,
Множественные вычисления
Круглые скобки используются для изменения порядка старшинства. Выражение внутри круглых скобок вычисляется перед тем, как его значение будет использоваться в остальном выражении.
Более старший оператор оценивается перед тем, который имеет более низкое старшинство. Например:
z = 78 * (96 + 3 + 45)
В этом выражении - пять операторов: =, *, (), +, and +. В соответствии со старшинством, они оцениваются в следующем порядке: (), *, +, +, =.
Первым оценивается выражение внутри круглых скобок: здесь два оператора сложения, выполняющие тот же порядок старшинства, сначала складываются 96 и 3, и затем результат складывается с 45, окончательный результат 144.
Далее выполняется умножение 78 и 144, в результате получается 11232.
Последним выполняется присваивание: 11232 присваивается переменной z.