Skip to main content
Практика завдань

Утилітарний тип partial у TypeScript

Partial — це утилітний тип у TypeScript, який робить всі пропси об'єкта необов'язковими. Це особливо корисно, коли потрібно створити версію існуючого типу, але з можливістю пропустити деякі поля.

Синтаксис

ts
Partial<T>
  • T — оригінальний тип об'єкта.

Тип Partial створює новий тип, де всі пропси T стають необов'язковими. Це корисно в ситуаціях, коли об'єкт може бути частково заповнений, наприклад, під час оновлення даних.

Коли використовувати Partial?

  • При оновленні даних (не всі поля можуть бути змінені).
  • Для роботи з формами, де користувач може заповнити лише частину даних.
  • У запитах до API, де передаються лише змінені дані.

Приклади використання Partial

Створення часткового об'єкта на основі існуючого типу:

Припустимо, у нас є тип User, і ми хочемо створити об'єкт, що містить лише деякі з його полів.

ts
type User = { id: number; name: string; email: string; }; type PartialUser = Partial<User>; const updateUser: PartialUser = { name: "Alice", };
  • Partial<User> створює версію User, де всі пропси стають необов'язковими.
  • updateUser може містити лише name, без необхідності вказувати id або email.

Використання Partial для оновлення об'єктів:

У функціях оновлення даних зручно використовувати Partial, щоб передавати лише змінені пропси.

ts
function updateUserInfo(user: User, updates: Partial<User>): User { return { ...user, ...updates }; } const user: User = { id: 1, name: "Bob", email: "bob@example.com" }; const updatedUser = updateUserInfo(user, { name: "Robert" }); console.log(updatedUser);
  • updateUserInfo приймає оновлення, які мають тип Partial<User>, що дозволяє передавати лише поля, які потрібно змінити.
  • Функція поєднує існуючий об'єкт користувача з оновленими даними, створюючи новий об'єкт.

Резюме

Тип Partial робить код більш гнучким, дозволяючи працювати з частково заповненими об'єктами, що особливо корисно при оновленні даних або створенні конфігураційних об'єктів.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань