Typescript Generics Constraints Default Type Parameters Conditional Return Types
Definisi
Generics di TypeScript memungkinkan tipe mengikuti argumen secara aman. Constraint membatasi tipe yang diterima, default type parameter memberi nilai bawaan bila tidak diisi, dan conditional return type membuat tipe kembalian bergantung pada input.
Kapan dipakai
- Constraint (
T extends X): butuh akses ke property/method tertentu di dalam fungsi generic. - Default param (
T = Default): mayoritas pemakaian punya tipe umum, tapi tetap ingin fleksibel. - Conditional return (
T extends X ? A : B): perilaku berbeda berdasar bentuk input (misal fungsi yang mengembalikanPromisekalau async).
Cara kerja
Constraint
function longest<T extends { length: number }>(a: T, b: T)