--- title: Інструкції та оголошення slug: Web/JavaScript/Reference/Statements tags: - JavaScript - Довідка - оголошення - інструкції translation_of: Web/JavaScript/Reference/Statements ---
{{jsSidebar("Statements")}}

Застосунки JavaScript складаються з інструкцій з відповідним синтаксисом. Одна інструкція може займати декілька рядків. Декілька інструкцій можуть розташовуватись на одному рядку, якщо кожна інструкція відділена крапкою з комою. Це не ключове слово, а група ключових слів.

Інструкції та оголошення за категоріями

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

Потік керування

{{jsxref("Statements/block", "Block")}}
Блок використовують, щоб згрупувати нуль чи більше інструкцій. Блок позначається парою фігурних дужок.
{{jsxref("Statements/break", "break")}}
Перериває поточний цикл, switch або помічену інструкцію та передає контроль програми у інструкцію, наступну за перерваною інструкцією.
{{jsxref("Statements/continue", "continue")}}
Перериває виконання інструкцій у поточній ітерації поточного або поміченого циклу та продовжує виконання циклу з наступної ітерації.
{{jsxref("Statements/Empty", "Empty")}}
Порожній оператор використовується, щоб не надавати інструкцію там, де синтаксис JavaScript її очікує.
{{jsxref("Statements/if...else", "if...else")}}
Виконує інструкцію, якщо вказана умова дорівнює true. Якщо умова дорівнює false, виконується інша інструкція.
{{jsxref("Statements/switch", "switch")}}
Обчислює вираз, шукаючі збіг значення виразу з блоком case, та виконує інструкції, асоційовані з цим блоком.
{{jsxref("Statements/throw", "throw")}}
Викидає визначений користувачем виняток.
{{jsxref("Statements/try...catch", "try...catch")}}
Позначає блок інструкцій, які необхідно спробувати виконати, та визначає відповідь у випадку, якщо викидається виняток.

Оголошення

{{jsxref("Statements/var", "var")}}
Оголошує змінну, необов'язково ініціалізуючи її значенням.
{{jsxref("Statements/let", "let")}}
Оголошує локальну змінну блочної області видимості, необов'язково ініціалізуючи її значенням.
{{jsxref("Statements/const", "const")}}
Оголошує іменовану константу, доступну лише для читання.

Функції та класи

{{jsxref("Statements/function", "function")}}
Оголошує функцію з вказаними параметрами.
{{jsxref("Statements/function*", "function*")}}
Функції-генератори спрощують написання ітераторів.
{{jsxref("Statements/async_function", "async function")}}
Оголошує асинхронну функцію з вказаними параметрами.
{{jsxref("Statements/return", "return")}}
Вказує значення, яке має повернути функція.
{{jsxref("Statements/class", "class")}}
Оголошує клас.

Перебори

{{jsxref("Statements/do...while", "do...while")}}
Створює цикл, що виконує вказану інструкцію, яка виконується, доки перевірочна умова не стане дорівнювати false. Умова обчислюється після виконання інструкції, в результаті вказана інструкція виконується принаймні один раз.
{{jsxref("Statements/for", "for")}}
Створює цикл, що складається з трьох необов'язкових виразів, записаних у дужках та розділених крапками з комами, після яких вказується інструкція для виконання циклом.
{{jsxref("Statements/for_each...in", "for each...in")}}
Перебирає вказаною змінною усі значення властивостей об'єкта. Для кожної окремої властивості виконується вказана інструкція.
{{jsxref("Statements/for...in", "for...in")}}
Перебирає перелічувані властивості об'єкта у довільному порядку. Для кожної окремої властивості можуть виконуватись інструкції.
{{jsxref("Statements/for...of", "for...of")}}
Перебирає ітерабельні об'єкти (в тому числі {{jsxref("Global_Objects/Array","масиви","","true")}}, подібні до масивів об'єкти, ітератори та генератори), викликаючи користувацький хук до ітерацій з інструкціями, що виконуватимуться для значення кожної окремої властивості.
{{jsxref("Statements/for-await...of", "for await...of")}}
Перебирає асинхронні ітерабельні об'єкти, подібні до масивів об'єкти, ітератори та генератори, викликаючи користувацький хук до ітерацій з інструкціями, що виконуватимуться для значення кожної окремої властивості.
{{jsxref("Statements/while", "while")}}
Створює цикл, який виконує вказану інструкцію, доки перевірочна умова дорівнює true. Умова обчислюється перед виконанням інструкції.

Інші

{{jsxref("Statements/debugger", "debugger")}}
Запускає будь-яку доступну налагоджувальну функціональність. Якщо налагоджувальна функціональність недоступна, цей оператор не матиме ефекту.
{{jsxref("Statements/export", "export")}}
Використовується для експорту функцій, щоб зробити їх доступними для імпорту у зовнішні модулі та інші скрипти.
{{jsxref("Statements/import", "import")}}
Використовується для імпорту функцій, експортованих з зовнішнього модуля чи іншого скрипта.
import.meta
Об'єкт, що відкриває залежні від контексту метадані про модуль JavaScript.
{{jsxref("Statements/label", "label")}}
Надає інструкцію з ідентифікатором, на який можна посилатись при використанні інструкцій break або continue.
{{jsxref("Statements/with", "with")}}
Розширює ланцюжок областей видимості для інструкції.

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

Специфікація
{{SpecName('ESDraft', '#sec-ecmascript-language-statements-and-declarations', 'ECMAScript Language: Statements and Declarations')}}

Сумісність з веб-переглядачами

{{Compat("javascript.statements")}}

Див. також