Ответ
Partial<T> в TypeScript создаёт тип, где все свойства T становятся необязательными (?). Это полезно, когда нужно работать с частью объекта, а не со всеми его полями.
Пример:
interface User {
name: string;
age: number;
}
function updateUser(user: User, fieldsToUpdate: Partial<User>) {
return { ...user, ...fieldsToUpdate };
}
const user = { name: 'Alice', age: 30 };
updateUser(user, { age: 31 }); // OK - можно передать только age
Используется для:
- Обновления объектов (патчинг)
- Опциональных конфигураций
- Создания мок-данных в тестах
- Работы с формами, где поля заполняются постепенно