Ответ
Partial<T> — это утилитарный тип в TypeScript, который делает все свойства типа T необязательными. Это полезно, когда нужно создать объект с частичными значениями, например, для обновления или инициализации.
Пример:
interface User {
id: number;
name: string;
age: number;
}
const updateUser: Partial<User> = {
name: "John" // можно указать только нужные поля
};Особенности:
- Все свойства становятся
?: - Полезен для DTO, патчей, дефолтных значений
- Не влияет на методы, только на свойства
Аналог ручного написания:
type ManualPartial<T> = {
[P in keyof T]?: T[P];
};Осторожно: Partial не проверяет, что хотя бы одно свойство будет задано. Для строгой проверки используйте Required<Partial<T>> или кастомные решения.