Partial<T> làm tất cả properties của T thành optional. Required<T> làm tất cả optional thành required.
Cả hai chỉ shallow.
typescript
interface User { id: number; name: string; bio?: string }
// Partial: dùng cho PATCH requests
function updateUser(id: string, data: Partial<User>) { /* ... */ }
updateUser('1', { name: 'New Name' }); // OK, không cần gửi toàn bộ
// Required: enforce tất cả fields sau validation
const validated: Required<User> = { id: 1, name: 'An', bio: 'Dev' };