Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що означає тип void?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Тип **`void`** у TypeScript означає «відсутність значення, що повертається»: функція щось робить (має побічний ефект), але не повертає жодного результату. **Ключове:** хоча функція типу `void` при виклику фактично повертає `undefined`, TypeScript забороняє використовувати це значення - вважається, що функція не повинна нічого повертати.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення### Що означає тип `void` у TypeScript Тип `void` у TypeScript означає: > **«відсутність значення, що повертається»**. Тобто функція **щось робить (має побічний ефект)**, але **не повертає** жодного результату. --- ### Основне призначення Тип `void` найчастіше використовується **в сигнатурах функцій** - щоб вказати, що функція **не повертає значення**. ```javascript function logMessage(): void { console.log("Message to console"); } ``` Тут `logMessage()` виконує дію, але нічого не повертає -> `void`. --- ### Як оголосити функцію з `void` ```javascript function greet(name: string): void { console.log(`Hello, ${name}!`); } ``` При виклику: ```javascript const result = greet("Tim"); console.log(result); // undefined ``` > Хоча функція має тип `void`, при виклику вона **фактично повертає** `undefined`. > Але TypeScript **забороняє** використовувати це значення - > він вважає, що функція не повинна нічого повертати. --- ### Приклад з колбеками Тип `void` часто використовується в **обробниках подій** і **колбеках**, коли значення, що повертається, не має сенсу. ```javascript type Callback = () => void; function onClick(callback: Callback) { callback(); } onClick(() => { console.log("Button click"); }); ``` --- ### Різниця між `void` і `undefined` | Тип | Опис | Коли використовується | |---|---|---| | `undefined` | конкретне значення (не визначено) | змінні без значення | | `void` | відсутність результату, що повертається | функції без `return` | Приклад: ```javascript let a: undefined = undefined; // значення існує function doNothing(): void {} // функція нічого не повертає ``` --- ### Важливі особливості 1. **Не можна присвоїти значення змінній типу** `void`**:** ```javascript let nothing: void; nothing = undefined; // OK nothing = null; // Тільки якщо вимкнено прапорець strictNullChecks nothing = 42; // Помилка ``` 2. **Функція з** `void` **може мати побічні ефекти**, наприклад - логувати, надсилати запит, змінювати стан тощо. ```javascript function sendMessage(): void { console.log("Message sent"); } ``` 3. **TypeScript відрізняє** `void` **від** `never`**:** - `void` -> функція завершується, але нічого не повертає; - `never` -> функція **взагалі не завершується** (помилка або нескінченний цикл). ```javascript function log(): void { console.log("ok"); // завершується } function crash(): never { throw new Error("error!"); // не завершується } ``` --- ### Підсумок | Властивість | Опис | |---|---| | Тип | Примітивний службовий | | Значення | `undefined` (неявно) | | Де використовується | Тип, що повертається функціями | | Поведінка | Вказує, що функція нічого не повертає | | Відмінність від `never` | `void` - функція завершується, `never` - ні |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.