Advanced Utility Types
Lập trìnhTạo custom utility types cho các tình huống phức tạp
Hướng dẫn
Lời giải
Tạo các custom utility types: 1. DeepPartial - recursive partial 2. Nullable - cho phép null và undefined 3. Branded types cho type safety 4. Function overloads với conditional types
Code mẫu
// Tạo custom utility types
type DeepPartial<T> = // Implement recursive partial
type Nullable<T> = // Cho phép T | null | undefined
// Branded types để phân biệt các primitive types
type UserId = string & { readonly brand: unique symbol };