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
|
---
title: Інструкції та оголошення
slug: Web/JavaScript/Reference/Statements
tags:
- JavaScript
- Довідка
- оголошення
- інструкції
translation_of: Web/JavaScript/Reference/Statements
---
<div>{{jsSidebar("Statements")}}</div>
<p>Застосунки JavaScript складаються з інструкцій з відповідним синтаксисом. Одна інструкція може займати декілька рядків. Декілька інструкцій можуть розташовуватись на одному рядку, якщо кожна інструкція відділена крапкою з комою. Це не ключове слово, а група ключових слів.</p>
<h2 id="Інструкції_та_оголошення_за_категоріями">Інструкції та оголошення за категоріями</h2>
<p>Список в алфавітному порядку дивіться на бічній панелі ліворуч.</p>
<h3 id="Потік_керування">Потік керування</h3>
<dl>
<dt>{{jsxref("Statements/block", "Block")}}</dt>
<dd>Блок використовують, щоб згрупувати нуль чи більше інструкцій. Блок позначається парою фігурних дужок.</dd>
<dt>{{jsxref("Statements/break", "break")}}</dt>
<dd>Перериває поточний цикл, switch або помічену інструкцію та передає контроль програми у інструкцію, наступну за перерваною інструкцією.</dd>
<dt>{{jsxref("Statements/continue", "continue")}}</dt>
<dd>Перериває виконання інструкцій у поточній ітерації поточного або поміченого циклу та продовжує виконання циклу з наступної ітерації.</dd>
<dt>{{jsxref("Statements/Empty", "Empty")}}</dt>
<dd>Порожній оператор використовується, щоб не надавати інструкцію там, де синтаксис JavaScript її очікує.</dd>
<dt>{{jsxref("Statements/if...else", "if...else")}}</dt>
<dd>Виконує інструкцію, якщо вказана умова дорівнює true. Якщо умова дорівнює false, виконується інша інструкція.</dd>
<dt>{{jsxref("Statements/switch", "switch")}}</dt>
<dd>Обчислює вираз, шукаючі збіг значення виразу з блоком case, та виконує інструкції, асоційовані з цим блоком.</dd>
<dt>{{jsxref("Statements/throw", "throw")}}</dt>
<dd>Викидає визначений користувачем виняток.</dd>
<dt>{{jsxref("Statements/try...catch", "try...catch")}}</dt>
<dd>Позначає блок інструкцій, які необхідно спробувати виконати, та визначає відповідь у випадку, якщо викидається виняток.</dd>
</dl>
<h3 id="Оголошення">Оголошення</h3>
<dl>
<dt>{{jsxref("Statements/var", "var")}}</dt>
<dd>Оголошує змінну, необов'язково ініціалізуючи її значенням.</dd>
<dt>{{jsxref("Statements/let", "let")}}</dt>
<dd>Оголошує локальну змінну блочної області видимості, необов'язково ініціалізуючи її значенням.</dd>
<dt>{{jsxref("Statements/const", "const")}}</dt>
<dd>Оголошує іменовану константу, доступну лише для читання.</dd>
</dl>
<h3 id="Функції_та_класи">Функції та класи</h3>
<dl>
<dt>{{jsxref("Statements/function", "function")}}</dt>
<dd>Оголошує функцію з вказаними параметрами.</dd>
<dt>{{jsxref("Statements/function*", "function*")}}</dt>
<dd>Функції-генератори спрощують написання <a href="/uk/docs/Web/JavaScript/Reference/Протоколи_перебору#Протокол_ітератора">ітераторів</a>.</dd>
<dt>{{jsxref("Statements/async_function", "async function")}}</dt>
<dd>Оголошує асинхронну функцію з вказаними параметрами.</dd>
<dt>{{jsxref("Statements/return", "return")}}</dt>
<dd>Вказує значення, яке має повернути функція.</dd>
<dt>{{jsxref("Statements/class", "class")}}</dt>
<dd>Оголошує клас.</dd>
</dl>
<h3 id="Перебори">Перебори</h3>
<dl>
<dt>{{jsxref("Statements/do...while", "do...while")}}</dt>
<dd>Створює цикл, що виконує вказану інструкцію, яка виконується, доки перевірочна умова не стане дорівнювати false. Умова обчислюється після виконання інструкції, в результаті вказана інструкція виконується принаймні один раз.</dd>
<dt>{{jsxref("Statements/for", "for")}}</dt>
<dd>Створює цикл, що складається з трьох необов'язкових виразів, записаних у дужках та розділених крапками з комами, після яких вказується інструкція для виконання циклом.</dd>
<dt>{{jsxref("Statements/for_each...in", "for each...in")}}</dt>
<dd>Перебирає вказаною змінною усі значення властивостей об'єкта. Для кожної окремої властивості виконується вказана інструкція.</dd>
<dt>{{jsxref("Statements/for...in", "for...in")}}</dt>
<dd>Перебирає перелічувані властивості об'єкта у довільному порядку. Для кожної окремої властивості можуть виконуватись інструкції.</dd>
<dt>{{jsxref("Statements/for...of", "for...of")}}</dt>
<dd>Перебирає ітерабельні об'єкти (в тому числі {{jsxref("Global_Objects/Array","масиви","","true")}}, подібні до масивів об'єкти, <a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators">ітератори та генератори</a>), викликаючи користувацький хук до ітерацій з інструкціями, що виконуватимуться для значення кожної окремої властивості.</dd>
<dt>{{jsxref("Statements/for-await...of", "for await...of")}}</dt>
<dd>Перебирає асинхронні ітерабельні об'єкти, подібні до масивів об'єкти, <a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators">ітератори та генератори</a>, викликаючи користувацький хук до ітерацій з інструкціями, що виконуватимуться для значення кожної окремої властивості.</dd>
<dt>{{jsxref("Statements/while", "while")}}</dt>
<dd>Створює цикл, який виконує вказану інструкцію, доки перевірочна умова дорівнює true. Умова обчислюється перед виконанням інструкції.</dd>
</dl>
<h3 id="Інші">Інші</h3>
<dl>
<dt>{{jsxref("Statements/debugger", "debugger")}}</dt>
<dd>Запускає будь-яку доступну налагоджувальну функціональність. Якщо налагоджувальна функціональність недоступна, цей оператор не матиме ефекту.</dd>
<dt>{{jsxref("Statements/export", "export")}}</dt>
<dd>Використовується для експорту функцій, щоб зробити їх доступними для імпорту у зовнішні модулі та інші скрипти.</dd>
<dt>{{jsxref("Statements/import", "import")}}</dt>
<dd>Використовується для імпорту функцій, експортованих з зовнішнього модуля чи іншого скрипта.</dd>
<dt><a href="/uk/docs/Web/JavaScript/Reference/Statements/import.meta"><code>import.meta</code></a></dt>
<dd>Об'єкт, що відкриває залежні від контексту метадані про модуль JavaScript.</dd>
<dt>{{jsxref("Statements/label", "label")}}</dt>
<dd>Надає інструкцію з ідентифікатором, на який можна посилатись при використанні інструкцій <code>break</code> або <code>continue</code>.</dd>
</dl>
<dl>
<dt>{{jsxref("Statements/with", "with")}}</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-statements-and-declarations', 'ECMAScript Language: Statements and Declarations')}}</td>
</tr>
</tbody>
</table>
<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
<div class="hidden">
<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
</div>
<p>{{Compat("javascript.statements")}}</p>
<h2 id="Див._також">Див. також</h2>
<ul>
<li><a href="/uk/docs/Web/JavaScript/Reference/Operators">Оператори</a></li>
</ul>
|