0Pricing
TypeScript Academy · Pelajaran

Antarmuka Generik dan Alias Tipe

Terapkan generik pada antarmuka dan tipe khusus.

Antarmuka Generik dan Alias Tipe adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Selamat Datang

Tipe generik tidak terbatas pada fungsi. Antarmuka dan alias tipe juga menerima parameter tipe sehingga dapat digunakan kembali pada banyak tipe.

Sintaks Antarmuka Generik

Tambahkan `` setelah nama antarmuka agar bersifat generik. Gunakan T dalam tipe properti dan tanda tangan metode.
interface Box<T> {
  value: T;
  unwrap(): T;
}
const box: Box<number> = { value: 42, unwrap() { return this.value; } };

Alias Tipe Generik

Alias tipe menggunakan sintaks `` yang sama.
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };
const p: Pair<string, number> = { first: 'Alice', second: 30 };

Antarmuka Repositori Generik

Kasus penggunaan klasik: antarmuka repositori generik yang bekerja dengan tipe entitas apa pun.
interface Repository<T> {
  findById(id: number): T | null;
  findAll(): T[];
  save(item: T): void;
  delete(id: number): void;
}

Mengimplementasikan Antarmuka Generik

Berikan argumen tipe saat mengimplementasikan antarmuka generik.
class UserRepo implements Repository<User> {
  findById(id: number): User | null { return null; }
  findAll(): User[] { return []; }
  save(user: User): void {}
  delete(id: number): void {}
}

Memperluas Antarmuka Generik

Antarmuka generik dapat memperluas antarmuka generik lainnya.
interface Named<T> { name: T; }
interface NamedAndAged<T> extends Named<T> { age: number; }

Tipe Respons Generik

Tipe respons API generik yang membungkus payload data apa pun.
type ApiResponse<T> = {
  status: 'success' | 'error';
  data: T;
  timestamp: number;
};
const res: ApiResponse<User[]> = { status: 'success', data: [], timestamp: Date.now() };

Beberapa Parameter Tipe dalam Antarmuka

Antarmuka mendukung beberapa parameter tipe.
interface KeyValue<K, V> {
  key: K;
  value: V;
}
const kv: KeyValue<string, number> = { key: 'age', value: 30 };

Metode Generik dalam Antarmuka Non-Generik

Antarmuka dapat memiliki metode generik tanpa membuat seluruh antarmuka menjadi generik.
interface Transformer {
  transform<T, U>(input: T, fn: (val: T) => U): U;
}

Tipe Generik Rekursif

Tipe generik dapat merujuk dirinya sendiri untuk struktur pohon atau daftar berantai.
interface TreeNode<T> {
  value: T;
  children: TreeNode<T>[];
}

Alias Tipe vs Antarmuka untuk Tipe Generik

Keduanya sama-sama mendukung tipe generik dengan baik. Pilih antarmuka untuk kontrak yang diimplementasikan kelas. Pilih type untuk tipe generik yang melibatkan gabungan, seperti Maybe.

Pemeriksaan Singkat

Apa yang Anda berikan saat mengimplementasikan `interface Repository`?

Rangkuman

Antarmuka generik dan alias tipe menggunakan agar dapat bekerja dengan tipe apa pun. Keduanya memungkinkan kontrak yang dapat digunakan kembali untuk repositori, pembungkus respons, dan struktur data rekursif. Implementasikan dengan memberikan argumen tipe konkret.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Antarmuka Generik dan Alias Tipe” gratis?

Ya — teks lengkap “Antarmuka Generik dan Alias Tipe” 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 “Antarmuka Generik dan Alias Tipe”?

Terapkan generik pada antarmuka dan tipe khusus. 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 2 dari 4.

Berapa lama pelajaran “Antarmuka Generik dan Alias Tipe” 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.

Semua pelajaran dalam kursus ini

  1. Fungsi Generik: Parameter Tipe
  2. Antarmuka Generik dan Alias Tipe
  3. Batasan Generik dengan extends
  4. Parameter Tipe Bawaan
← Kembali ke TypeScript Academy