Study
TypeScript

Literal Types & Enum

Penjelasan

Literal type membatasi sebuah tipe hanya boleh berisi nilai PERSIS tertentu (bukan sekadar "string" umum, tapi harus salah satu string spesifik), biasa dikombinasikan dengan union. enum adalah cara lain untuk mendefinisikan sekumpulan nilai konstan bernama, memudahkan pembacaan kode dibanding memakai angka/string mentah.

Contoh Konsep

type Arah = "utara" | "selatan" | "timur" | "barat"; // literal type union

function gerak(arah: Arah): void {
    console.log(`Bergerak ke ${arah}`);
}

gerak("utara");
// gerak("atas"); // Error! bukan salah satu literal yang diizinkan

enum Peran {
    Admin,
    Editor,
    Pembaca,
}

const peranSaya: Peran = Peran.Editor;
console.log(peranSaya); // 1, enum default dimulai dari angka 0

Praktikum

Buat literal type union TingkatUrgensi berisi "rendah", "sedang", dan "tinggi". Buat enum StatusTugas dengan anggota Baru, Dikerjakan, dan Selesai. Buat fungsi laporTugas(urgensi: TingkatUrgensi, status: StatusTugas): void yang mencetak keduanya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau nilainya cukup diketahui SAAT MENULIS KODE dan jumlahnya sedikit-tetap (mis. arah mata angin), literal type union sering lebih ringan dibanding enum — enum lebih cocok kalau kamu butuh nilai itu juga dipakai sebagai objek runtime yang bisa di-iterasi.