Memahami TypeScript Generics
1979
Memahami TypeScript Generics
Generics adalah salah satu fitur paling powerful di TypeScript. Mereka memungkinkan Anda menulis kode yang reusable dan type-safe tanpa mengorbankan fleksibilitas.
Apa Itu Generics?
Generics memungkinkan Anda memparameterisasi tipe, mirip dengan bagaimana fungsi memparameterisasi nilai:
// Fungsi yang bekerja dengan tipe APA SAJA
function identity<T>(arg: T): T {
return arg;
}
const num = identity(42); // tipe: number
const str = identity("hello"); // tipe: stringConstraint Generics
Anda bisa membatasi tipe apa yang diterima:
interface HasLength {
length: number;
}
function logLength<T extends HasLength>(arg: T): T {
console.log(arg.length);
return arg;
}
logLength("hello"); // ✅ string punya length
logLength([1, 2, 3]); // ✅ array punya length
// logLength(42); // ❌ number tidak punya lengthUtility Types Generics
TypeScript menyediakan tipe generik built-in:
type Partial<T> = { [K in keyof T]?: T[K] };
type Readonly<T> = { readonly [K in keyof T]: T[K] };
type Pick<T, K extends keyof T> = { [P in K]: T[P] };Contoh Real-World
async function fetchJson<T>(url: string): Promise<T> {
const res = await fetch(url);
return res.json() as Promise<T>;
}
interface User {
id: number;
name: string;
}
const user = await fetchJson<User>('/api/user');
// user bertipe UserGenerics membuat kode Anda sekaligus fleksibel dan type-safe — kombinasi terbaik dari keduanya.
Comments
Loading comments...