This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Выражения и операторы
Эта глава описывает все операторы, выражения и ключевые слова языка JavaScript.
In this article
Выражения и операторы по категориям
Алфавитный список смотрите в боковой панели слева.
Первичные выражения
Базовые ключевые слова и общие выражения в 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 (или экземпляром) другого объекта.<Оператор меньше.
>Оператор больше.
<=Оператор меньше или равно.
>=Оператор больше или равно.
Примечание:Это не оператор. Это нотация дляСтрелочных функций.
Операторы равенства
Результат вычисления оператора равенства всегда имеет типBoolean и значение, зависящее от того, был ли результат проверки истинным или ложным.
Операторы побитового сдвига
Операции для сдвига всех битов операнда.
Бинарные побитовые операторы
Побитовые операторы трактуют свои операнды как набор из 32 битов (нулей и единиц) и возвращают стандартные числовые значения JavaScript.
Бинарные логические операторы
Логические операторы обычно используются вместе с булевыми (логическими) значениями и в сочетании с ними они возвращают булево значение.
Условный (тернарный) оператор
(условие ? ifTrue : ifFalse)Условный оператор возвращает одно значение из двух данных в зависимости от логического значения условия.
Операторы присваивания
Операторы присваивания присваивают значение своему левому операнду, зависящее от значения их правого операнда.
=Оператор присваивания.
*=Оператор присваивания с умножением.
/=Оператор присваивания с делением.
%=Оператор присваивания с взятием остатка от деления.
+=Оператор присваивания со сложением.
-=Оператор присваивания с вычитанием.
<<=Оператор присваивания со сдвигом влево.
>>=Оператор присваивания со знаковым сдвигом вправо.
>>>=Оператор присваивания с беззнаковым сдвигом вправо.
&=Оператор присваивания с побитовым И.
^=Оператор присваивания с побитовым ИСКЛЮЧАЮЩИМ ИЛИ.
|=Оператор присваивания с побитовым ИЛИ.
{a, b} = {a:1, b:2}[a, b] = [1, 2]Деструктурирующее присваивание позволяет вам присваивать свойства массива или объекта переменным с использованием синтаксиса, очень похожего на объявление литералов массива или объекта.
Оператор запятая
,Оператор запятая позволяет вычислять несколько выражений в одном операторе и возвращает результат вычисления последнего выражения.
Нестандартные особенности
- Не стандартноLegacy generator function
Ключевое слово
functionможет быть использовано для определения устаревших функций-генераторов в одном выражении. Для того, чтобы сделать такую функцию, её тело должно содержать хотя бы одно выражениеyield.- Не стандартноExpression closures
Синтаксис закрытого выражения для сокращённого написания простейших функций.
- Не стандартно
[for (x of y) x] Упрощённый синтаксис создания массива.
- Не стандартно
(for (x of y) y) Упрощённый синтаксис создания генератора.