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