aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/operators/index.html
blob: 301ebeeb2ffa7352333cb30d82f9ae3c5561739f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
---
title: Вирази та оператори
slug: Web/JavaScript/Reference/Operators
tags:
  - Expressions
  - JavaScript
  - Operators
  - Довідка
  - Огляд
  - Оператори
  - вирази
translation_of: Web/JavaScript/Reference/Operators
---
<div>{{jsSidebar("Operators")}}</div>

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

<h2 id="Вирази_та_оператори_за_категоріями">Вирази та оператори за категоріями</h2>

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

<h3 id="Первинні_вирази">Первинні вирази</h3>

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

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

<h3 id="Лівосторонні_вирази">Лівосторонні вирази</h3>

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

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

<h3 id="Інкремент_та_декремент">Інкремент та декремент</h3>

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

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

<h3 id="Унарні_оператори">Унарні оператори</h3>

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

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

<h3 id="Арифметичні_оператори">Арифметичні оператори</h3>

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

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

<dl>
 <dt>{{jsxref("Operators/Exponentiation", "**")}}</dt>
 <dd>Оператор піднесення до степеня.</dd>
</dl>

<h3 id="Оператори_відношення">Оператори відношення</h3>

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

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

<div class="note">
<p><strong>Заувага: =&gt;</strong> не оператор, а позначення для <a href="/uk/docs/Web/JavaScript/Reference/Functions/Стрілкові_функції">стрілкових функцій</a>.</p>
</div>

<h3 id="Оператори_рівності">Оператори рівності</h3>

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

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

<h3 id="Оператори_бітового_зсуву">Оператори бітового зсуву</h3>

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

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

<h3 id="Побітові_логічні_оператори">Побітові логічні оператори</h3>

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

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

<h3 id="Логічні_оператори">Логічні оператори</h3>

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

<dl>
 <dt>{{jsxref("Operators/Logical_Operators", "&amp;&amp;", "#Логічне_І")}}</dt>
 <dd>Логічне І.</dd>
 <dt>{{jsxref("Operators/Logical_Operators", "||", "#Логічне_АБО")}}</dt>
 <dd>Логічне АБО.</dd>
</dl>

<h3 id="Умовний_тернарний_оператор">Умовний (тернарний) оператор</h3>

<dl>
 <dt>{{jsxref("Operators/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}</dt>
 <dd>
 <p>Умовний оператор повертає одне з двох значень, на підставі логічного значення умови.</p>
 </dd>
</dl>

<h3 id="Оператори_присвоєння">Оператори присвоєння</h3>

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

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

<h3 id="Оператор_кома">Оператор кома</h3>

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

<h2 id="Специфікації">Специфікації</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Специфікація</th>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}</td>
  </tr>
 </tbody>
</table>

<h2 id="Див._також">Див. також</h2>

<ul>
 <li><a href="/uk/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">Пріоритет операторів</a></li>
</ul>