TypeScript Essentials

Урок 08 · 10 хв

Utility types

Сім штук покривають майже всю повсякденну роботу.

Не вчи каталог утиліт повністю. Ось ті, що справді пишеш щодня. Повний список — в Utility Types: Partial, Required, Pick, Omit, Record, ReturnType, Awaited і ще з десяток вузьких на кшталт Exclude / Extract. Їх відкриєш, коли впрешся.

Утиліта не створює нову сутність з нуля — вона перебудовує вже названий тип. Pick<User, "id" | "name"> завжди йде за User: перейменував поле у вихідному типі — похідна форма оновиться сама. Тому спершу ім'я (User, Post), потім обгортка.

Частково, обов'язково, вирізати, залишити
Record, ReturnType, Awaited
AI

Можна спитати про це правило«Не будуй тип з утиліт у 4 шари»

typeof замість дубля

typeof тут — оператор TypeScript, а не JS. Він бере тип значення. Разом із keyof це спосіб не дублювати ключі вручну: додав маршрут в об'єкт — union оновився.

AI

Можна спитати про цей пункт«Суть уроку»

Перевірка

Закріпи, поки не пішов далі

  1. 1. Потрібна форма лише з id і name з User. Що взяти?

  2. 2. Що таке Record<"a" | "b", number>?