Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке union тип у TypeScript?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Union-тип (об'єднання типів)** - це тип, що може приймати одне з кількох можливих значень різних типів; позначається оператором вертикальної риски `|`. **Ключове:** `string | number` означає "рядок або число" - на відміну від `&`, який означає перетин типів.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення## Що таке **union-тип** у TypeScript **Union-тип (об'єднання типів)** - це тип, який може приймати **одне з кількох можливих значень** (різних типів). > Простіше кажучи: > Union дозволяє сказати: > "Ця змінна може бути **або тим, або цим**". --- ## Як записується union-тип Union-типи створюються за допомогою **оператора вертикальної риски** `|`. ```javascript let value: string | number; ``` Це означає: > `value` може бути **рядком** (`string`) **або числом** (`number`). --- ## Приклади використання ### Приклад 1. Просте об'єднання типів ```javascript let id: number | string; id = 123; // можна число id = "123"; // можна рядок id = true; // помилка - не входить в об'єднання ``` --- ### Приклад 2. Union у параметрах функції ```javascript function printId(id: number | string) { console.log("ID:", id); } printId(42); // OK printId("abc123"); // OK ``` --- ### Приклад 3. Обмежені рядкові значення (літеральні union-типи) ```javascript type Direction = "up" | "down" | "left" | "right"; let move: Direction; move = "up"; // ok move = "right"; // ok move = "forward"; // Помилка - "forward" не входить в union ``` --- ### Приклад 4. Об'єднання з `null` і `undefined` ```javascript let username: string | null = null; function printName(name: string | undefined) { if (name) console.log(name.toUpperCase()); } ``` --- ## Запам'ятай | Поняття | Опис | |---|---| | **Union-тип** | Тип, який об'єднує кілька інших типів | | **Оператор** | ` | | **Приклад** | `string | | **Сенс** | "АБО" - значення може бути **одним із перелічених типів** | --- ### Проста формула: > `|` - це логічне **АБО** для типів > (на відміну від `&`, який означає **І** - "перетин типів").Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.