Enum berbanding const enum dan alternatif literal kesatuan
Bandingkan enum klasik, const enum dan alternatif literal kesatuan; pelajari pertukaran dari segi DX, saiz dan keselamatan.
Enum berbanding const enum dan alternatif literal kesatuan ialah pelajaran TypeScript Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 3. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran TypeScript Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus TypeScript Academy merangkumi sejumlah 3 pelajaran.
Pengenalan
Matlamat: Ketahui masa untuk menggunakan enumerasi, enumerasi malar atau jenis literal kesatuan. Anda akan membandingkan keluaran masa jalan, DX dan penggoncangan pepohon.
Enumerasi berangka
Enumerasi berangka menghasilkan objek masa jalan dan membenarkan pemetaan songsang. Ringkas, tetapi menambah sedikit saiz himpunan.
enum Direction {
Left = 0,
Right = 1
}
const d: Direction = Direction.Left;
console.log(d); // 0Enumerasi rentetan
Enumerasi rentetan mudah dibaca dalam catatan dan antara muka pengaturcaraan aplikasi. Enumerasi ini juga menghasilkan objek masa jalan.
enum Status {
Ok = "ok",
Error = "error"
}
const s: Status = Status.Ok;
console.log(s); // "ok"Enumerasi malar
Enumerasi malar memasukkan nilai terus pada masa kompilasi untuk kos masa jalan sifar, tetapi memerlukan alat bina yang konsisten.
const enum Axis {
X = 0,
Y = 1
}
const a: Axis = Axis.X;
console.log(a); // 0 (inlined)Alternatif literal kesatuan
Literal kesatuan: tiada keluaran masa jalan, pengecilan jenis yang baik dalam switch dan penghapusan kod tidak digunakan daripada pepohon yang sangat baik. Pilihan lalai yang baik untuk banyak kes.
type Dir = "left" | "right";
function move(d: Dir) {
switch (d) {
case "left":
console.log("←");
break;
case "right":
console.log("→");
break;
}
}
move("left");Masa untuk memilih
Garis panduan:
- Utamakan literal kesatuan untuk kebanyakan set pilihan (tiada kos masa jalan).
- Gunakan enumerasi jika anda memerlukan objek masa jalan atau pemetaan songsang.
- Gunakan enumerasi malar untuk pemalar yang dimasukkan terus apabila binaan anda menyokongnya.
Semakan literal kesatuan berbanding enumerasi
Semakan ringkas: Pernyataan manakah yang BENAR tentang jenis literal kesatuan sebagai alternatif kepada enumerasi?
Imbas kembali
Imbas kembali: enumerasi mencipta objek masa jalan; enumerasi malar memasukkan nilai terus tanpa kos; literal kesatuan memberikan keselamatan tanpa keluaran masa jalan. Pilih berdasarkan binaan dan keperluan antara muka pengaturcaraan aplikasi anda.
Pelajari TypeScript dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 101
- Pelajaran
- 352
Soalan Lazim
Adakah pelajaran “Enum berbanding const enum dan alternatif literal kesatuan” percuma?
Ya — teks penuh “Enum berbanding const enum dan alternatif literal kesatuan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus TypeScript Academy, tingkat taraf kepada CoddyKit PRO. Kursus TypeScript Academy merangkumi sejumlah 3 pelajaran.
Apakah yang akan saya pelajari dalam “Enum berbanding const enum dan alternatif literal kesatuan”?
Bandingkan enum klasik, const enum dan alternatif literal kesatuan; pelajari pertukaran dari segi DX, saiz dan keselamatan. Anda berlatih TypeScript Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan TypeScript Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran TypeScript Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 3.
Berapa lamakah pelajaran “Enum berbanding const enum dan alternatif literal kesatuan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran TypeScript Academy ini?
Ya. Setiap pelajaran TypeScript Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Tatasusunan dan ReadonlyArray
- Tuple dan tuple berlabel
- Enum berbanding const enum dan alternatif literal kesatuan