Эта глава описывает все операторы, выражения и ключевые слова языка JavaScript.
Выражения и операторы по категориям
Алфавитный список смотрите в боковой панели слева.
Первичные выражения
Базовые ключевые слова и общие выражения в JavaScript.
-
this -
Ключевое слово
thisссылается на контекст выполнения функции. -
function -
Ключевое слово
functionопределяет выражение функции. -
[] - Синтаксис создания литерала массива.
-
{} - Синтаксис создания литерала объекта.
-
/ab+c/i - Синтаксис создания литерала регулярного выражения.
-
[for (x of y) x] - Выражение заполнения массива.
-
(for (x of y) y) - Выражение-генератор.
-
( ) - Оператор группировки.
Левосторонние выражения
Значения слева являются назначением присваивания.
- Доступ к свойству
-
Операторы доступа к членам предоставляют доступ к свойству или методу объекта
(object.propertyиobject['property']). -
new -
Оператор
newсоздаёт экземпляр конструктора. -
super -
Ключевое слово
superвызывает родительский конструктор. -
...obj - Оператор распространения позволяет развернуть выражение в местах, где ожидается несколько аргументов (при вызове функций) или несколько элементов (при создании литералов массива).
Инкремент и декремент
Операторы постфиксного / префиксного инкремента и декремента.
-
A++ - Оператор постфиксного инкремента.
-
A-- - Оператор постфиксного декремента.
-
++A - Оператор префиксного инкремента.
-
--A - Оператор префиксного декремента.
Унарные операторы
Унарные опарации — это операции с одним операндом.
-
delete -
Оператор
deleteудаляет свойство из объекта. -
void -
Оператор
voidотбрасывает возвращаемое значение выражения. -
typeof -
Оператор
typeofопределяет тип переданного объекта. -
+ -
Оператор унарного плюса преобразует свой операнд в тип
Number. -
- -
Оператор унарного минуса преобразует свой операнд в тип
Number, а затем меняет его знак. -
~ - Оператор побитового НЕ.
-
! - Оператор логического НЕ.
Арифметические операторы
Арифметические операторы своими операндами принимают числовые значения (литерали или переменные) и возвращают одно числовое значение.
-
+ - Оператор сложения.
-
- - Оператор вычитания.
-
/ - Оператор деления.
-
* - Оператор умножения.
-
% - Оператор взятия остатка от деления.
Операторы отношения
Операторы отношения сравнивают свои операнды и возвращают значение типа Boolean, зависящее от того, был ли результат сравнения истинным или ложным.
-
in -
Оператор
inопределяет, содержит ли объект указанное свойство. -
instanceof -
Оператор
instanceofопределяет, является ли объект экземпляром другого объекта. -
< - Оператор меньше.
-
> - Оператор больше.
-
<= - Оператор меньше или равно.
-
>= - Оператор больше или равно.
Операторы равенства
Результат вычисления оператора равенства всегда имеет тип Boolean и значение, зависящее от того, был ли результат проверки истинным или ложным.
-
== - Оператор проверки на равенство.
-
!= - Оператор проверки на неравенство.
-
=== - Оператор проверки на идентичность.
-
!== - Оператор проверки на неидентичность.
Операторы побитового сдвига
Операции для сдвига всех битов операнда.
-
<< - Оператор побитового сдвига влево.
-
>> - Оператор знакового побитового сдвига вправо.
-
>>> - Оператор беззнакового побитового сдвига вправо.
Бинарные побитовые операторы
Побитовые операторы трактуют свои операнды как набор из 32 битов (нулей и единиц) и возвращают стандартные числовые значения JavaScript.
Бинарные логические операторы
Логические операторы обычно используются вместе с булевыми (логическими) значениями и в сочетании с ними они возвращают булево значение.
Условный (тернарный) оператор
-
(условие ? ifTrue : ifFalse) - Условный оператор возвращает одно значение из двух данных в зависимости от логического значения условия.
Операторы присваивания
Операторы присваивания присваивают значение своему левому операнду, зависящее от значения их правого операнда.
-
= - Оператор присваивания.
-
*= - Оператор присваивания с умножением.
-
/= - Оператор присваивания с делением.
-
%= - Оператор присваивания с взятием остатка от деления.
-
+= - Оператор присваивания со сложением.
-
-= - Оператор присваивания с вычитанием.
-
<<= - Оператор присваивания со сдвигом влево.
-
>>= - Оператор присваивания со знаковым сдвигом вправо.
-
>>>= - Оператор присваивания с беззнаковым сдвигом вправо.
-
&= - Оператор присваивания с логическим И.
-
^= - Оператор присваивания с логическим ИСКЛЮЧАЮЩИМ ИЛИ.
-
|= - Оператор присваивания с логическим ИЛИ.
-
[a, b] = [1, 2]
{a, b} = {a:1, b:2} - Реструктуризующее присваивание позволяет вам присваивать свойства массива или объекта переменным с использованием синтаксиса, очень похожего на объявление литералов массива или объекта.
Оператор запятая
-
, - Оператор запятая позволяет вычислять несколько выражений в одном операторе в возвращает результат вычисления последнего выражения.
Спецификации
| Спецификация | Статус | Комментарии |
|---|---|---|
| ECMAScript 1-е издание. | Стандарт | Изначальное определение. |
| ECMAScript 5.1 (ECMA-262) Определение 'Выражения' в этой спецификации. |
Стандарт | |
| ECMAScript 6 (ECMA-262) Определение 'Язык ECMAScript: выражения' в этой спецификации. |
Кандидат в рекомендации | Новое в этой спецификации: оператор распространения, реструктуризующее присваивание, ключевое слово super, выражения заполнения массивов, выражения-генераторы. |