Ця глава документує усі оператори, вирази та ключові слова мови 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- Оператор розкладу дозволяє розкласти вираз там, де очікується більше одного аргументу (для викликів функцій) або більше одного елемента (для масивних літералів).
Інкремент та декремент
Постфіксний/префіксний оператор інкременту та постфіксний/префіксний оператор декременту.
A++- Постфіксний оператор інкременту.
A--- Постфіксний оператор декременту.
++A- Префіксний оператор інкременту.
--A- Префіксний оператор декременту.
Унарні оператори
Унарна операція - це операція лише з одним операндом.
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. |