Generics memungkinkan kita membuat komponen/fungsi yang bisa bekerja dengan berbagai tipe data, namun tetap menjaga keamanan tipenya.
Analogi Wadah
Bayangkan sebuah kardus (Box). Isinya bisa apa saja (Buku, Sepatu, Mainan), tapi sekali isi dimasukkan, kita ingin memastikan isinya tetap konsisten.
main.ts
// T adalah placeholder untuk tipe data apa punfunction wrapInArray<T>(item: T): T[] { return [item];}const stringArr = wrapInArray<string>("Tesla"); // Menghasilkan string[]const numberArr = wrapInArray<number>(2024); // Menghasilkan number[]console.log(stringArr);console.log(numberArr);