Pelajaran 07
Typedef dan Symbol
Alias tipe untuk fungsi dan koleksi kompleks.
Pahami konsepnya
typedef memberi nama pendek untuk tipe kompleks: typedef IntList = List<int>; mengubah List<int> menjadi IntList yang lebih terbaca. Untuk fungsi: typedef Calculator = int Function(int, int); — signature fungsi jadi tipe first-class.
Symbol (#nama) adalah identifier yang di-minify saat build — jarang ditulis langsung, tapi muncul di reflection (#foo sebagai Mirror). Praktisnya: typedef jauh lebih bergunakan daripada Symbol untuk kode sehari-hari.
Coba contoh kode
typedef IntList = List<int>;
typedef Operasi = int Function(int, int);
int tambah(int a, int b) => a + b;
int kali(int a, int b) => a * b;
void main() {
IntList angka = [1, 2, 3];
print(angka);
Operasi hitung = tambah;
print(hitung(3, 5)); // 8
hitung = kali;
print(hitung(3, 5)); // 15
}typedef Operasi mendefinisikan signature fungsi (int, int) → int. Variabel hitung bisa menampung fungsi mana pun yang cocok — tambah atau kali.
Latihan singkat
Uji: typedef Kali; fungsi kuadrat(7) — harus `49`.