Cara Menggunakan Enums di TypeScript Langkah demi Langkah
Enum dalam TypeScript adalah cara untuk menentukan sekumpulan konstanta bernama yang dapat digunakan untuk mewakili sekumpulan nilai terkait. Enum membuat kode lebih mudah dibaca dan dipelihara dengan memberi nama yang mudah dipahami pada nilai-nilai ini. Panduan ini akan memandu Anda menggunakan enum dalam TypeScript langkah demi langkah, meliputi jenis, manfaat, dan contoh praktisnya.
Apa itu Enum?
enum (kependekan dari "enumeration") adalah tipe data khusus dalam TypeScript yang memungkinkan Anda menentukan sekumpulan konstanta bernama. Konstanta bernama ini dapat mewakili nilai numerik atau string, membuat kode Anda lebih deskriptif dan tidak mudah salah.
Jenis-jenis Enum dalam TypeScript
Ada tiga jenis enum di TypeScript:
- Enum numerik
- Enum String
- Enum Heterogen
Enum numerik
Enum numerik adalah nilai default dalam TypeScript. Enum numerik adalah sekumpulan nilai bernama yang secara otomatis diberi nilai numerik mulai dari 0, atau dari nilai awal kustom jika ditentukan.
Contoh Enum Numerik Dasar
Berikut ini adalah contoh sederhana enum numerik:
enum Direction {
Up,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
console.log(move); // Output: 0
Dalam contoh ini, enum Direction
memiliki empat anggota: Up
, Down
, Left
, dan Right
. Secara default, Up
diberi nilai 0
, Down
adalah 1
, dan seterusnya. Anda juga dapat menentukan nilai numerik khusus untuk anggota tersebut.
Enum Numerik dengan Nilai Kustom
Anda dapat menetapkan nilai khusus ke anggota enum:
enum Status {
New = 1,
InProgress,
Done = 5,
Cancelled
}
console.log(Status.New); // Output: 1
console.log(Status.InProgress); // Output: 2
console.log(Status.Done); // Output: 5
console.log(Status.Cancelled); // Output: 6
Dalam contoh ini, Baru
ditetapkan ke 1
, SedangDiproses
ditetapkan secara otomatis ke 2
, Selesai
ditetapkan ke 5
, dan Dibatalkan
ditetapkan secara otomatis ke 6
.
Enum String
Enum string merupakan tipe enum lain yang tiap anggotanya diinisialisasi dengan literal string, sehingga lebih mudah dibaca dan di-debug.
Contoh Enum String Dasar
Berikut ini adalah contoh string enum:
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT"
}
let move: Direction = Direction.Left;
console.log(move); // Output: "LEFT"
Dalam contoh ini, setiap anggota enum diinisialisasi dengan nilai string. Tidak seperti enum numerik, enum string tidak memiliki nilai yang bertambah secara otomatis.
Enum Heterogen
Enum heterogen adalah enum yang berisi anggota string dan numerik. Meskipun memungkinkan untuk mendefinisikannya, hal ini umumnya tidak direkomendasikan karena dapat menyebabkan kebingungan dan kesalahan dalam kode.
Contoh Enum Heterogen
Berikut ini adalah contoh enum heterogen:
enum MixedEnum {
Yes = "YES",
No = 0,
Maybe = 1
}
console.log(MixedEnum.Yes); // Output: "YES"
console.log(MixedEnum.No); // Output: 0
Dalam contoh ini, MixedEnum
berisi nilai string dan numerik. Gunakan enum tersebut dengan hati-hati karena dapat menyebabkan kebingungan.
Kasus Penggunaan Enum
Enum berguna dalam berbagai skenario:
- Mewakili serangkaian konstanta terkait seperti arah (Atas, Bawah, Kiri, Kanan).
- Menentukan status pada mesin status (Baru, Sedang Berlangsung, Selesai, Dibatalkan).
- Menggunakannya dalam pernyataan switch-case agar lebih mudah dibaca.
Enum dalam Contoh Switch-Case
Penggunaan enum dalam pernyataan switch-case meningkatkan keterbacaan kode dan membuatnya lebih mudah dalam mengelola status.
enum Status {
New,
InProgress,
Done,
Cancelled
}
function getStatusMessage(status: Status): string {
switch (status) {
case Status.New:
return "The task is new.";
case Status.InProgress:
return "The task is in progress.";
case Status.Done:
return "The task is completed.";
case Status.Cancelled:
return "The task is cancelled.";
default:
return "Unknown status.";
}
}
console.log(getStatusMessage(Status.InProgress)); // Output: "The task is in progress."
Dalam contoh ini, pernyataan switch-case lebih mudah dibaca dan lebih kecil kemungkinannya mengalami kesalahan, berkat penggunaan enum.
Kesimpulan
Enum dalam TypeScript menyediakan cara yang ampuh untuk mendefinisikan sekumpulan konstanta bernama, yang meningkatkan keterbacaan kode dan keamanan tipe. Dengan menggunakan enum numerik, string, atau bahkan heterogen, Anda dapat mengelola dan mengatur kode dengan lebih baik. Dengan panduan langkah demi langkah ini, Anda sekarang akan merasa nyaman menggunakan enum dalam TypeScript untuk membuat kode Anda lebih bersih dan lebih mudah dikelola.