Chapter 1

Pengantar Konsep Generik dalam TypeScript

Pelajari cara menggunakan generics untuk membuat kode TypeScript lebih fleksibel dan aman dengan tipe yang dapat digunakan kembali di berbagai konteks.

Menerapkan Generik pada Fungsi dan Kelas

Generik dapat diterapkan pada fungsi untuk membuatnya bekerja dengan berbagai tipe input dan output, serta pada kelas untuk membuat struktur data yang tipe-aman seperti array atau koleksi.

function identitas(arg: T): T {
return arg;
}
let output1 = identitas("hello"); // output1 bertipe string
let output2 = identitas(42); // output2 bertipe number

Pada kelas, generik memungkinkan pembuatan struktur seperti Array yang dapat menyimpan elemen dengan tipe seragam.

Best Practices dan Tips untuk Penggunaan Generik

Untuk memaksimalkan manfaat generik, ikuti praktik terbaik seperti menggunakan nama parameter tipe yang deskriptif, menghindari overuse, dan memanfaatkan inferensi tipe TypeScript.

  • Gunakan nama seperti T, U, V untuk tipe sederhana, atau KeyType, ValueType untuk yang lebih spesifik.
  • Jangan gunakan generik jika tipe sudah diketahui secara statis; ini bisa membuat kode lebih kompleks tanpa perlu.
  • Manfaatkan inferensi tipe: TypeScript sering dapat menyimpulkan tipe generik dari argumen, mengurangi kebutuhan untuk menentukannya secara eksplisit.
Tip: Selalu uji fungsi generik dengan berbagai tipe untuk memastikan fleksibilitas dan keamanan tipe tetap terjaga.

Menggunakan Constraint dan Default Type Parameters

Constraint membatasi tipe yang dapat digunakan dengan generik menggunakan kata kunci extends, sementara default type parameters memberikan nilai bawaan jika tipe tidak ditentukan.

FiturContohManfaat
Constraintfunction panjang(obj: T): numberMemastikan objek memiliki properti length
Default Typeclass Kotak { ... }Menyediakan tipe default jika tidak ada yang ditentukan

Ini membantu menghindari error dan membuat kode lebih mudah digunakan.

Studi Kasus: Membuat Utility Functions dengan Generik

Generik sangat berguna untuk membuat utility functions yang dapat digunakan kembali dalam berbagai konteks, seperti fungsi untuk menggabungkan array atau memfilter data.

Dalam proyek e-commerce, Anda perlu fungsi yang dapat menggabungkan array produk dengan berbagai tipe, seperti Product[] dan DiscountProduct[], tanpa kehilangan informasi tipe.
Contoh konteks aplikasi dunia nyata
function gabungkanArray(arr1: T[], arr2: T[]): T[] {
return [...arr1, ...arr2];
}
let produk = gabungkanArray([produk1], [produk2]); // Tipe aman

Ini meningkatkan efisiensi pengembangan dengan mengurangi duplikasi kode.

Memahami Konsep Dasar Generik dalam TypeScript

Generik dalam TypeScript adalah fitur yang memungkinkan Anda menulis kode yang dapat bekerja dengan berbagai tipe data tanpa mengorbankan keamanan tipe, dengan menggunakan parameter tipe sebagai placeholder yang akan ditentukan saat kode digunakan.

Ini mirip dengan fungsi matematika seperti f(x) di mana x bisa diganti dengan nilai apa pun, tetapi dalam konteks tipe data untuk meningkatkan fleksibilitas dan reusability kode.

Quiz

Kerjakan soal setelah membaca materi untuk memperkuat pemahaman.