Belajar TypeScript #4: Tipe Data Enum dan Any
- Tipe Data
enum
enum
adalah fitur di TypeScript yang digunakan untuk mendefinisikan sekumpulan nilai konstan. Fitur ini memungkinkan pengembang untuk mengelompokkan nilai yang berhubungan dan memberikan nama yang lebih deskriptif untuk nilai tersebut.
Intinya, enum
digunakan untuk mempermudah pengelolaan nilai konstan yang memiliki hubungan erat satu sama lain.
enum Direction {
Up,
Down,
Left,
Right
}
const up: Direction = Direction.Up;
const down: Direction = Direction.Down;
const left: Direction = Direction.Left;
const right: Direction = Direction.Right;
console.log(up) // output: 0
console.log(down) // output: 1
console.log(left) // output: 2
console.log(right) // output: 3
Mungkin di antara kalian ada yang bertanya; kenapa tiba-tiba constanta pada contoh di atas memiliki value?
Ketika kita mendefinisikan sebuah enum
tanpa memberikan nilai eksplisit, TypeScript secara otomatis akan memberikan nilai numerik sebagai default, dimulai dari angka 0 dan bertambah satu untuk setiap anggota berikutnya. Ini adalah perilaku bawaan enum yang bertipe numerik.
Selain berbasis nilai numerik, enum
juga bisa digunakan dengan nilai string:
enum Status {
Active = "ACTIVE",
Inactive = "INACTIVE",
Pending = "PENDING"
}
const currentStatus: Status = Status.Active;
console.log(currentStatus) // output: ACTIVE
Dalam contoh di atas, nilai enum
tidak lagi berupa angka, tetapi berupa string yang ditentukan secara eksplisit.
2. Tipe Data any
Tipe data any
adalah tipe yang paling fleksibel di TypeScript. Saat kita menggunakan tipe any
, kita pada dasarnya mengizinkan variabel untuk menampung nilai dari tipe apa pun, mirip dengan perilaku default JavaScript.
Meskipun memberi kita kebebasan, menggunakan any
secara berlebihan dapat menghilangkan sebagian besar keuntungan yang ditawarkan oleh TypeScript.
let randomValue: any = 5;
randomValue = "Hello";
randomValue = true;
// tidak ada error sama sekali
Dalam contoh di atas, variabel randomValue
dapat diisi dengan angka, string, atau bahkan boolean. Tipe any
memberikan fleksibilitas, tetapi kita juga kehilangan keamanan tipe karena tidak ada pengecekan tipe yang dilakukan oleh TypeScript.
Jadi, kapan waktu yang tepat untuk menggunakan any
?
- Saat kita memigrasikan kode JavaScript yang tidak memiliki tipe yang jelas ke TypeScript, tipe
any
dapat digunakan sementara untuk menjaga kompatibilitas. - Tipe
any
bisa juga digunakan ketika kita bekerja dengan API eksternal atau data yang tidak diketahui strukturnya secara rinci.
Sekian untuk rangkuman pembelajaran saya terkait tipe data enum
dan any
. Tentu saja seri tulisan belajar TypeScript ini masih terus akan berlanjut.