Ответ
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>>
или кастомные решения.