TypeScriptTingkat: Lanjutan7 min
Generics: Kode Fleksibel & Reusable dengan Type Safety
Bangun fungsi dan class yang dapat bekerja dengan beragam tipe data tanpa mengorbankan keamanan pengetikan menggunakan Generic Type Parameter <T>.
Permasalahan Tipe Any vs Generics
Pratinjau TerbukaMenggunakan tipe data any menghilangkan seluruh manfaat pemeriksaan tipe. Generics memungkinkan penulisan komponen serbaguna yang mempertahankan informasi tipe spesifik pemanggilnya.
Contoh Kode Sintaks
// Fungsi Generic dengan Parameter <T>
function bungkusRespon<T>(payload: T, status: number) {
return {
status,
data: payload,
timestamp: new Date().toISOString()
};
}
// Kompilator mendeteksi tipe secara otomatis
const responAngka = bungkusRespon<number>(450000, 200);
const responTeks = bungkusRespon<string>("Operasi Berhasil", 200);Generic Class Repository
Class generik dapat menyimpan entitas apapun yang memiliki properti id:
class DataStore<T extends { id: number }> {
private itemMap = new Map<number, T>();
simpan(item: T): void {
this.itemMap.set(item.id, item);
}
ambil(id: number): T | undefined {
return this.itemMap.get(id);
}
}
Live Compiler Runner
Akses Kursus Wajib Login
Buka Akses Penuh Silabus & Praktikum
Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.
145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi