typealiastipePemula3 mnt baca

Type Alias

Nama baru untuk tipe apa pun: union, tuple, fungsi, sampai object kompleks.

Memberi Nama pada Tipe

Type alias memakai kata kunci type untuk memberi nama pada tipe apa pun:

typescript
type ID = string | number;
type Koordinat = [number, number];
type Callback = (pesan: string) => void;

function cariPengguna(id: ID, selesai: Callback) {
  // ...
}

Tanpa alias, signature fungsi di atas jadi (id: string | number, selesai: (pesan: string) => void) yang susah dibaca dan rawan inkonsisten antar file.

Alias untuk Object Juga Bisa

typescript
type Produk = {
  id: number;
  nama: string;
  harga: number;
};

Fungsinya mirip interface untuk kasus sederhana. Bedanya muncul saat kamu butuh fitur lanjutan.

Interface vs Type Alias: Kapan Pakai Mana

KebutuhanPilihan
Bentuk object yang akan di-extendsinterface
Bentuk object untuk implements classinterface
Union (`AB`)
Tupletype (interface tidak bisa)
Tipe fungsitype

Contoh yang hanya bisa dilakukan type alias:

typescript
type Status = "aktif" | "nonaktif" | "ditangguhkan"; // union literal
type Pasangan = [string, number];                     // tuple
type Handler = (e: Event) => void;                    // tipe fungsi

Catatan teknis: Interface mendukung declaration merging (dua interface bernama sama otomatis digabung), type alias tidak dan akan error duplikat. Merging berguna untuk menambah field ke tipe library pihak ketiga, tapi juga bisa jadi sumber kebingungan kalau tidak sengaja. Untuk kode sendiri, satu definisi per nama adalah kebiasaan yang sehat.