--- title: Вирази та оператори slug: Web/JavaScript/Reference/Operators tags: - Expressions - JavaScript - Operators - Довідка - Огляд - Оператори - вирази translation_of: Web/JavaScript/Reference/Operators ---
{{jsSidebar("Operators")}}

Ця глава документує усі оператори, вирази та ключові слова мови JavaScript.

Вирази та оператори за категоріями

Список у алфавітному порядку дивіться на бічній панелі ліворуч.

Первинні вирази

Базові ключові слова та загальні вирази у JavaScript.

{{jsxref("Operators/this", "this")}}
Ключове слово this посилається на особливу властивість контексту виконання функції.
{{jsxref("Operators/function", "function")}}
Ключове слово function визначає функціональний вираз.
{{jsxref("Operators/class", "class")}}
Ключове слово class визначає вираз класу.
{{jsxref("Operators/function*", "function*")}}
Ключове слово function* визначає вираз функції-генератора.
{{jsxref("Operators/yield", "yield")}}
Призупиняє та відновлює виконання функції-генератора.
{{jsxref("Operators/yield*", "yield*")}}
Делегує до іншої функції-генератора або ітерабельного об'єкта.
{{jsxref("Operators/async_function", "async function*")}}
async function визначає вираз async-функції.
{{jsxref("Operators/await", "await")}}
Призупиняє та відновлює виконання async-функції та чекає на вирішення/відхилення проміса.
{{jsxref("Global_Objects/Array", "[]")}}
Синтаксис масивного ініціалізатора/літералу.
{{jsxref("Operators/Ініціалізація_об’єктів", "{}")}}
Синтаксис об'єктного ініціалізатора/літералу.
{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
Літерал регулярного виразу.
{{jsxref("Operators/Grouping", "( )")}}
Оператор групування.

Лівосторонні вирази

Значення зліва є призначенням присвоєння.

{{jsxref("Operators/Property_accessors", "Доступ до властивостей", "", 1)}}
Оператори доступу надають доступ до властивості або методу об'єкта
(object.property та object["property"]).
{{jsxref("Operators/new", "new")}}
Оператор new створює екземпляр конструктора.
{{JSxRef("Operators/new%2Etarget", "new.target")}}
У конструкторах new.target посилається на конструктор, викликаний оператором {{jsxref("Operators/new", "new")}}.
{{jsxref("Operators/super", "super")}}
Ключове слово super викликає батьківський конструктор.
{{jsxref("Operators/Spread_syntax", "...obj")}}
Оператор розкладу дозволяє розкласти вираз там, де очікується більше одного аргументу (для викликів функцій) або більше одного елемента (для масивних літералів).

Інкремент та декремент

Постфіксний/префіксний оператор інкременту та постфіксний/префіксний оператор декременту.

{{jsxref("Operators/Increment", "A++")}}
Постфіксний оператор інкременту.
{{jsxref("Operators/Decrement", "A--")}}
Постфіксний оператор декременту.
{{jsxref("Operators/Increment", "++A")}}
Префіксний оператор інкременту.
{{jsxref("Operators/Decrement", "--A")}}
Префіксний оператор декременту.

Унарні оператори

Унарна операція - це операція лише з одним операндом.

{{jsxref("Operators/delete", "delete")}}
Оператор delete видаляє властивість об'єкта.
{{jsxref("Operators/void", "void")}}
Оператор void відкидає повернене значення виразу.
{{jsxref("Operators/typeof", "typeof")}}
Оператор typeof визначає тип наданого об'єкта.
{{jsxref("Operators/Unary_plus", "+")}}
Унарний плюс перетворює свій операнд на число.
{{jsxref("Operators/Unary_negation", "-")}}
Унарний мінус перетворює свій операнд на число та міняє його знак на протилежний.
{{jsxref("Operators/Bitwise_Operators", "~", "#Побітове_НЕ")}}
Оператор побітового НЕ.
{{jsxref("Operators/Logical_Operators", "!", "#Логічне_НЕ_!")}}
Оператор логічного НЕ.

Арифметичні оператори

Арифметичні оператори приймають числові значення (або літерали, або змінні) в якості операндів та повертають єдине числове значення.

{{jsxref("Operators/Addition", "+")}}
Оператор додавання.
{{jsxref("Operators/Subtraction", "-")}}
Оператор віднімання.
{{jsxref("Operators/Division", "/")}}
Оператор ділення.
{{jsxref("Operators/Multiplication", "*")}}
Оператор множення.
{{jsxref("Operators/Remainder", "%")}}
Оператор остачі.
{{jsxref("Operators/Exponentiation", "**")}}
Оператор піднесення до степеня.

Оператори відношення

Оператор порівняння порівнює свої операнди та повертає значення Boolean на підставі того, чи дорівнює порівняння true.

{{jsxref("Operators/in", "in")}}
Оператор in визначає, чи має об'єкт надану властивість.
{{jsxref("Operators/instanceof", "instanceof")}}
Оператор instanceof визначає, чи є об'єкт екземпляром іншого об'єкта.
{{jsxref("Operators/Оператори_порівняння", "<", "#Менше_ніж_<")}}
Оператор менше ніж.
{{jsxref("Operators/Оператори_порівняння", ">", "#Більше_ніж_>")}}
Оператор більше ніж.
{{jsxref("Operators/Оператори_порівняння", "<=", "#Менше_чи_дорівнює_<")}}
Оператор менше чи дорівнює.
{{jsxref("Operators/Оператори_порівняння", ">=", "#Більше_чи_дорівнює_>")}}
Оператор більше чи дорівнює.

Заувага: => не оператор, а позначення для стрілкових функцій.

Оператори рівності

Результатом обчислення оператора рівності завжди є значення типу Boolean, на підставі того, чи дорівнює порівняння true.

{{jsxref("Operators/Оператори_порівняння", "==", "#Рівність")}}
Оператор рівності.
{{jsxref("Operators/Оператори_порівняння", "!=", "#Нерівність_!")}}
Оператор нерівності.
{{jsxref("Operators/Оператори_порівняння", "===", "#Ідентичність_строга_рівність")}}
Оператор ідентичності.
{{jsxref("Operators/Оператори_порівняння", "!==", "#Неідентичність_строга_нерівність_!")}}
Оператор неідентичності.

Оператори бітового зсуву

Операції, що зсувають усі біти операнду.

{{jsxref("Operators/Bitwise_Operators", "<<", "#<<_Лівий_зсув")}}
Оператор лівого зсуву.
{{jsxref("Operators/Bitwise_Operators", ">>", "#>>_Правий_зсув_з_розширенням_знаку")}}
Оператор правого зсуву.
{{jsxref("Operators/Bitwise_Operators", ">>>", "#>>>_Правий_зсув_із_заповненням_нулями")}}
Оператор беззнакового правого зсуву.

Побітові логічні оператори

Бітові оператори опрацьовують свої операнди як послідовність 32-х бітів (нулів та одиниць) та повертають стандартні числові значення JavaScript.

{{jsxref("Operators/Bitwise_Operators", "&", "#Побітове_І")}}
Побітове І.
{{jsxref("Operators/Bitwise_Operators", "|", "#Побітове_АБО")}}
Побітове АБО.
{{jsxref("Operators/Bitwise_Operators", "^", "#Виключне_побітове_АБО")}}
Виключне побітове АБО.

Логічні оператори

Логічні оператори зазвичай застосовуються до булевих (логічних) значень, і, в цьому випадку, вони повертають булеве значення.

{{jsxref("Operators/Logical_Operators", "&&", "#Логічне_І")}}
Логічне І.
{{jsxref("Operators/Logical_Operators", "||", "#Логічне_АБО")}}
Логічне АБО.

Умовний (тернарний) оператор

{{jsxref("Operators/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}

Умовний оператор повертає одне з двох значень, на підставі логічного значення умови.

Оператори присвоєння

Оператор присвоєння присвоює значення своєму лівому операнду на підставі значення свого правого операнду.

{{jsxref("Operators/Оператори_присвоєння", "=", "#Присвоєння")}}
Оператор присвоєння.
{{jsxref("Operators/Оператори_присвоєння", "*=", "#Присвоєння_з_множенням")}}
Присвоєння з множенням.
{{jsxref("Operators/Оператори_присвоєння", "/=", "#Присвоєння_з_діленням")}}
Присвоєння з діленням.
{{jsxref("Operators/Оператори_присвоєння", "%=", "#Присвоєння_остачі")}}
Присвоєння остачі.
{{jsxref("Operators/Оператори_присвоєння", "+=", "#Присвоєння_з_додаванням")}}
Присвоєння з додаванням.
{{jsxref("Operators/Оператори_присвоєння", "-=", "#Присвоєння_з_відніманням")}}
Присвоєння з відніманням.
{{jsxref("Operators/Оператори_присвоєння", "<<=", "#Присвоєння_з_лівим_зсувом")}}
Присвоєння з лівим зсувом.
{{jsxref("Operators/Оператори_присвоєння", ">>=", "#Присвоєння_з_правим_зсувом")}}
Присвоєння з правим зсувом.
{{jsxref("Operators/Оператори_присвоєння", ">>>=", "#Присвоєння_з_беззнаковим_правим_зсувом")}}
Присвоєння з беззнаковим правим зсувом.
{{jsxref("Operators/Оператори_присвоєння", "&=", "#Присвоєння_з_побітовим_І")}}
Присвоєння з побітовим І.
{{jsxref("Operators/Оператори_присвоєння", "^=", "#Присвоєння_з_виключним_побітовим_АБО")}}
Присвоєння з виключним побітовим АБО.
{{jsxref("Operators/Оператори_присвоєння", "|=", "#Присвоєння_з_побітовим_АБО")}}
Присвоєння з побітовим АБО.
{{jsxref("Operators/Деструктуризація", "[a, b] = [1, 2]")}}
{{jsxref("Operators/Деструктуризація", "{a, b} = {a:1, b:2}")}}

Деструктуризаційне присвоєння дозволяє присвоювати властивості масиву або об'єкта змінним, використовуючи синтаксис, схожий на масивні або об'єктні літерали.

Оператор кома

{{jsxref("Operators/Comma_Operator", ",")}}
Оператор кома дозволяє обчислення кількох виразів у єдиній інструкції та повертає результат останнього виразу.

Специфікації

Специфікація
{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}

Див. також