Generik
Pelajari cara membuat komponen yang dapat digunakan kembali menggunakan generik
Generik adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 4 pelajaran total.
Pengantar Generik
Generik
Selamat datang di pelajaran berikutnya! Dalam pelajaran ini, Anda akan mempelajari generik, fitur canggih dalam TypeScript yang memungkinkan Anda membuat komponen yang dapat digunakan kembali dan aman terhadap tipe. Mari kita mulai!

Apa Itu Generik?
Apa Itu Generik?
Generik memungkinkan Anda menulis kode yang dapat digunakan kembali dan bekerja dengan tipe apa pun. Generik berfungsi sebagai penanda tempat untuk tipe yang dapat Anda tentukan saat menggunakannya.
Contoh: Fungsi generik:
Tugas: Tulis fungsi generik yang menerima argumen dan mengembalikannya tanpa perubahan.
function identity<T>(value: T): T {
return value;
}
console.log(identity<string>("Hello"));
// Output: Hello
console.log(identity<number>(42));
// Output: 42
Mengapa Menggunakan Generik?
Mengapa Menggunakan Generik?
Generik membantu Anda:
- Menulis kode yang dapat digunakan kembali: Fungsi dan kelas dapat bekerja dengan berbagai tipe.
- Memastikan keamanan tipe: Anda dapat menerapkan tipe tertentu tanpa mengorbankan fleksibilitas.
- Mengurangi pengulangan: Hindari menulis versi terpisah dari fungsi atau kelas yang sama untuk tipe yang berbeda.
Kiat: Gunakan generik untuk menulis kode yang lebih fleksibel dan mudah dipelihara.
Fungsi Generik
Fungsi Generik
Anda dapat menggunakan generik untuk membuat fungsi yang fleksibel. Contoh:
Tugas: Tulis fungsi generik yang menggabungkan dua objek dan mengembalikan hasilnya.
function merge<T, U>(obj1: T, obj2: U): T & U {
return { ...obj1, ...obj2 };
}
let merged = merge({ name: "Alice" }, { age: 25 });
console.log(merged);
// Output: { name: "Alice", age: 25 }
Kelas Generik
Kelas Generik
Generik dapat digunakan dalam kelas agar kelas tersebut dapat digunakan kembali untuk berbagai tipe. Contoh:
class Box<T> {
private contents: T;
constructor(contents: T) {
this.contents = contents;
}
getContents(): T {
return this.contents;
}
}
let stringBox = new Box<string>("Hello");
console.log(stringBox.getContents());
// Output: Hello
let numberBox = new Box<number>(42);
console.log(numberBox.getContents());
// Output: 42
Antarmuka Generik
Antarmuka Generik
Antarmuka juga dapat menggunakan generik untuk menerapkan struktur pada berbagai tipe. Contoh:
Tugas: Definisikan antarmuka generik dan buat objek yang mengimplementasikannya.
interface Pair<T, U> {
first: T;
second: U;
}
let coordinates: Pair<number, number> = { first: 10, second: 20 };
console.log(coordinates);
// Output: { first: 10, second: 20 }
Batasan Generik
Batasan Generik
Anda dapat menambahkan batasan pada generik untuk memastikan bahwa generik hanya bekerja dengan tipe tertentu. Contoh:
function printLength<T extends { length: number }>(item: T): void {
console.log(`Length: ${item.length}`);
}
printLength("Hello");
// Output: Length: 5
printLength([1, 2, 3]);
// Output: Length: 3
// printLength(42);
// Error: Argument of type 'number' is not assignable to parameter of type '{ length: number }'.
Nilai Bawaan Generik
Nilai Bawaan Generik
Anda dapat menentukan tipe bawaan untuk generik jika tidak ada tipe yang diberikan. Contoh:
Tugas: Buat fungsi generik dengan tipe bawaan dan uji fungsi tersebut dengan berbagai tipe.
function wrap<T = string>(value: T): T[] {
return [value];
}
console.log(wrap("Hello")); // Output: ["Hello"]
console.log(wrap(42)); // Output: [42]
Bagus Sekali!
Bagus Sekali!
Selamat! Anda telah mempelajari cara menggunakan generik dalam TypeScript untuk membuat fungsi, kelas, dan antarmuka yang dapat digunakan kembali serta aman terhadap tipe. Generik adalah alat yang sangat berguna untuk menulis kode yang fleksibel dan mudah diskalakan. Dalam pelajaran berikutnya, kita akan menjelajahi tipe lanjutan, seperti tipe terpetakan dan kondisional. Mari terus menulis kode!

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Generik” gratis?
Ya — teks lengkap “Generik” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Generik”?
Pelajari cara membuat komponen yang dapat digunakan kembali menggunakan generik Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai TypeScript Academy?
Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Generik” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?
Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.