Menggunakan Mapped Types untuk Transformasi Tipe
Mapped types memungkinkan Anda membuat tipe baru dengan mengiterasi properti dari tipe yang ada, sering digunakan bersama generik untuk transformasi seperti membuat semua properti nullable atau readonly.
type Nullable<T> = {
[P in keyof T]: T[P] | null;
};
interface Product {
id: number;
name: string;
}
type NullableProduct = Nullable<Product>; // { id: number | null; name: string | null; }Ini berguna dalam skenario seperti validasi form atau API responses di mana data mungkin tidak lengkap.
Tip: Gunakan mapped types untuk menghindari duplikasi kode dan memastikan konsistensi tipe di seluruh aplikasi.