TypeScript có sẵn các type biến đổi một type gốc, giúp dẫn xuất thay vì khai báo lại (DRY):
Partial<T>— mọi field thành optional (hợp payload update/patch).Required<T>— mọi field thành bắt buộc.Pick<T, K>— lấy ra một tập fieldKtừT.Omit<T, K>— loại bỏ tập fieldKkhỏiT.Record<K, V>— object với key kiểuK, value kiểuV(dictionary/map).- Khác:
Readonly<T>,ReturnType<F>,Parameters<F>...
Lợi ích chính: một nguồn sự thật — sửa type gốc thì mọi type phái sinh cập nhật theo, không lệch.