0Pricing
TypeScript Academy · Pelajaran

Enum: Konstanta Numerik dan String

Gunakan enum untuk menggantikan string dan angka ajaib.

Enum: Konstanta Numerik dan String adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 4 pelajaran total.

Selamat Datang

Enumerasi memungkinkan Anda mendefinisikan sekumpulan nilai konstan bernama. Enumerasi menggantikan angka dan string ajaib dengan nama yang mudah dibaca dan diberlakukan oleh TypeScript.

Enumerasi Numerik

Secara bawaan, anggota enumerasi diberi angka yang bertambah otomatis mulai dari 0.
enum Direction {
  Up,    // 0
  Down,  // 1
  Left,  // 2
  Right, // 3
}
console.log(Direction.Up); // 0

Nilai Enumerasi Numerik Khusus

Anda dapat menetapkan nilai awal atau mengganti anggota tertentu. Anggota berikutnya bertambah otomatis dari nilai terakhir yang ditetapkan.
enum Status {
  Active = 1,
  Inactive, // 2
  Banned = 100,
}

Enumerasi String

Enumerasi string mengharuskan setiap anggota memiliki nilai yang ditentukan secara eksplisit. Enumerasi ini lebih mudah dibaca dalam log dan data berseri daripada angka.
enum Color {
  Red = 'RED',
  Green = 'GREEN',
  Blue = 'BLUE',
}

Menggunakan Enumerasi dalam Fungsi

Gunakan tipe enumerasi sebagai tipe parameter untuk membatasi nilai pada sekumpulan nilai yang telah ditentukan.
function move(dir: Direction): void {
  console.log('Moving:', Direction[dir]);
}
move(Direction.Up);

Pemetaan Terbalik (Hanya Numerik)

Enumerasi numerik mendukung pemetaan terbalik: Anda dapat mencari nama anggota berdasarkan nilainya. Enumerasi string tidak mendukungnya.
enum Status { Active = 1, Inactive = 2 }
console.log(Status[1]); // 'Active'
console.log(Status.Active); // 1

Enumerasi const

`const enum` disisipkan saat waktu kompilasi—tidak ada objek JavaScript yang dihasilkan. Ini mengurangi ukuran bundel, tetapi membatasi introspeksi saat berjalan.
const enum Axis { X, Y, Z }
const a = Axis.X; // compiled to: const a = 0;

Enumerasi vs Gabungan Literal

Banyak pengembang TypeScript lebih memilih tipe literal gabungan daripada enumerasi. Tipe tersebut lebih ringan dan dapat digunakan tanpa kode saat berjalan.
// Enum
enum Dir { Up = 'UP', Down = 'DOWN' }

// Union literal (preferred by many)
type Dir2 = 'UP' | 'DOWN';

Enumerasi Heterogen (Hindari)

Mencampur nilai string dan numerik dalam satu enumerasi diperbolehkan, tetapi membingungkan. Hindari pola ini.
// Avoid:
enum Mixed { A = 1, B = 'bee' }

Enumerasi Adalah Objek Nyata Saat Berjalan

Berbeda dari antarmuka dan alias tipe, enumerasi menghasilkan kode JavaScript. Hasil kompilasinya adalah objek JavaScript dengan pemetaan dari nama ke nilai dan dari nilai ke nama (untuk enumerasi numerik).

Mengiterasi Nilai Enumerasi

Gunakan Object.values() atau Object.keys() pada objek enumerasi untuk mengiterasi anggotanya saat berjalan.
enum Role { Admin = 'ADMIN', User = 'USER', Guest = 'GUEST' }
const roles = Object.values(Role);
console.log(roles); // ['ADMIN', 'USER', 'GUEST']

Pemeriksaan Singkat

Tipe enumerasi mana yang mendukung pemetaan terbalik (mencari nama berdasarkan nilai)?

Rangkuman

Enumerasi mendefinisikan sekumpulan konstanta bernama sebagai objek JavaScript nyata. Gunakan enumerasi string agar mudah dibaca, enumerasi const untuk performa, dan pertimbangkan tipe literal gabungan sebagai alternatif yang lebih ringan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Enum: Konstanta Numerik dan String” gratis?

Ya — teks lengkap “Enum: Konstanta Numerik dan String” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Enum: Konstanta Numerik dan String”?

Gunakan enum untuk menggantikan string dan angka ajaib. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai TypeScript Academy?

Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Enum: Konstanta Numerik dan String” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?

Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Array Bertipe: T[] dan Array
  2. Array Readonly dan Data Imutabel
  3. Tuple: Array Bertipe dengan Panjang Tetap
  4. Enum: Konstanta Numerik dan String
← Kembali ke TypeScript Academy