Ця глава документує усі оператори, вирази та ключові слова мови JavaScript.
Вирази та оператори за категоріями
Список у алфавітному порядку дивіться на бічній панелі ліворуч.
Первинні вирази
Базові ключові слова та загальні вирази у JavaScript.
this
- Ключове слово
this
посилається на особливу властивість контексту виконання функції. function
- Ключове слово
function
визначає функціональний вираз. class
- Ключове слово
class
визначає вираз класу. function*
- Ключове слово
function*
визначає вираз функції-генератора. yield
- Призупиняє та відновлює виконання функції-генератора.
yield*
- Делегує до іншої функції-генератора або ітерабельного об'єкта.
async function*
async function
визначає вираз async-функції.await
- Призупиняє та відновлює виконання async-функції та чекає на вирішення/відхилення проміса.
[]
- Синтаксис масивного ініціалізатора/літералу.
{}
- Синтаксис об'єктного ініціалізатора/літералу.
/ab+c/i
- Літерал регулярного виразу.
( )
- Оператор групування.
Лівосторонні вирази
Значення зліва є призначенням присвоєння.
- Доступ до властивостей
- Оператори доступу надають доступ до властивості або методу об'єкта
(object.property
таobject["property"]
). new
- Оператор
new
створює екземпляр конструктора. new.target
- У конструкторах
new.target
посилається на конструктор, викликаний операторомnew
. super
- Ключове слово
super
викликає батьківський конструктор. ...obj
- Оператор розкладу дозволяє розкласти вираз там, де очікується більше одного аргументу (для викликів функцій) або більше одного елемента (для масивних літералів).
Інкремент та декремент
Постфіксний/префіксний оператор інкременту та постфіксний/префіксний оператор декременту.
Унарні оператори
Унарна операція - це операція лише з одним операндом.
delete
- Оператор
delete
видаляє властивість об'єкта. void
- Оператор
void
відкидає повернене значення виразу. typeof
- Оператор
typeof
визначає тип наданого об'єкта. +
- Унарний плюс перетворює свій операнд на число.
-
- Унарний мінус перетворює свій операнд на число та міняє його знак на протилежний.
~
- Оператор побітового НЕ.
!
- Оператор логічного НЕ.
Арифметичні оператори
Арифметичні оператори приймають числові значення (або літерали, або змінні) в якості операндів та повертають єдине числове значення.
+
- Оператор додавання.
-
- Оператор віднімання.
/
- Оператор ділення.
*
- Оператор множення.
%
- Оператор остачі.
**
- Оператор піднесення до степеня.
Оператори відношення
Оператор порівняння порівнює свої операнди та повертає значення Boolean
на підставі того, чи дорівнює порівняння true.
in
- Оператор
in
визначає, чи має об'єкт надану властивість. instanceof
- Оператор
instanceof
визначає, чи є об'єкт екземпляром іншого об'єкта. <
- Оператор менше ніж.
>
- Оператор більше ніж.
<=
- Оператор менше чи дорівнює.
>=
- Оператор більше чи дорівнює.
Заувага: => не оператор, а позначення для стрілкових функцій.
Оператори рівності
Результатом обчислення оператора рівності завжди є значення типу Boolean
, на підставі того, чи дорівнює порівняння true.
Оператори бітового зсуву
Операції, що зсувають усі біти операнду.
Побітові логічні оператори
Бітові оператори опрацьовують свої операнди як послідовність 32-х бітів (нулів та одиниць) та повертають стандартні числові значення JavaScript.
Логічні оператори
Логічні оператори зазвичай застосовуються до булевих (логічних) значень, і, в цьому випадку, вони повертають булеве значення.
Умовний (тернарний) оператор
(condition ? ifTrue : ifFalse)
-
Умовний оператор повертає одне з двох значень, на підставі логічного значення умови.
Оператори присвоєння
Оператор присвоєння присвоює значення своєму лівому операнду на підставі значення свого правого операнду.
=
- Оператор присвоєння.
*=
- Присвоєння з множенням.
/=
- Присвоєння з діленням.
%=
- Присвоєння остачі.
+=
- Присвоєння з додаванням.
-=
- Присвоєння з відніманням.
<<=
- Присвоєння з лівим зсувом.
>>=
- Присвоєння з правим зсувом.
>>>=
- Присвоєння з беззнаковим правим зсувом.
&=
- Присвоєння з побітовим І.
^=
- Присвоєння з виключним побітовим АБО.
|=
- Присвоєння з побітовим АБО.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
Деструктуризаційне присвоєння дозволяє присвоювати властивості масиву або об'єкта змінним, використовуючи синтаксис, схожий на масивні або об'єктні літерали.
Оператор кома
,
- Оператор кома дозволяє обчислення кількох виразів у єдиній інструкції та повертає результат останнього виразу.
Специфікації
Специфікація |
---|
ECMAScript (ECMA-262) The definition of 'ECMAScript Language: Expressions' in that specification. |