mozilla

Выражения и операторы

Эта глава описывает все операторы, выражения и ключевые слова языка 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, выражения заполнения массивов, выражения-генераторы.

Смотрите также

Метки документа и участники

Метки: 
Contributors to this page: teoli, ethertank, SphinxKnight, Mingun
Обновлялась последний раз: SphinxKnight,
Скрыть боковую панель