const enum
- TypeScript kursu
- Başlangıç
- Ders 22/89
- 4 dk
const enum ile derleme zamanı optimizasyonunu öğrenirsin.
const enum
const enum, derleme zamanında üye değerlerini kullanım yerlerine gömer (inlining). Derlenen JavaScript kodunda enum nesnesi oluşmaz; Hiz.Yavas gibi bir kullanım doğrudan 0 literaline dönüşür.
const enum Hiz { Yavas, Hizli }
let v = Hiz.Yavas; // derlenince: let v = 0;const enum, çalışma zamanı yükü olmadan adlandırılmış sabitler sağlar.
const enum ne zaman kullanılır?
const enum, sıfır çalışma zamanı maliyeti istediğinde uygundur. Derlenen kod daha küçüktür çünkü enum nesnesi yerine doğrudan değerler gömülür. Ancak çalışma zamanında enum üzerinde dolaşamaz veya üye listesini okuyamazsın.
const enum Boyut { Kucuk, Buyuk }
console.log(Boyut.Kucuk); // 0Sabit değerlerle çalışıp enum nesnesine ihtiyaç duymadığında const enum seçilir.
Uygulama Seviye sabitini tanımla
Seviye adında bir const tanımla; Dusuk, Orta, Yuksek üyeleri sırayla 0, 1, 2 değerlerine eşlensin (const enum'un sabit değerlerini taklit eder). Seviye.Orta değerini console.log ile yazdır.
Başlangıç kodu
// Seviye adında bir const tanımla
// Dusuk, Orta, Yuksek üyelerini 0, 1, 2 ile eşle
// Seviye.Orta değerini yazdırÖrnek çözüm
const Seviye = { Dusuk: 0, Orta: 1, Yuksek: 2 };
console.log(Seviye.Orta);Beklenen çıktı
1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>const enum</code> derleme sırasında neyi farklı yapar?
- Daha büyük bir çalışma zamanı nesnesi oluşturur
- Yalnızca dize değerlerine izin verir
- Üye değerlerini kullanım yerlerine gömer Doğru cevap
- Enum üyelerine erişimi engeller
Açıklama: const enum üye değerlerini doğrudan kullanım yerlerine gömer; derlenen kodta enum nesnesi kalmaz, yalnızca sabit değerler vardır.
2 const enum anahtar kelimesi
____ enum Boyut { Kucuk, Orta, Buyuk }
const enum Boyut { Kucuk, Orta, Buyuk }
Açıklama: <code>const enum</code> birlikte kullanılır; <code>let</code>, <code>readonly</code> ve <code>static</code> enum ön ekleri geçersiz yazımdır.
3 const enum kavramları
| Kavram | Anlamı |
|---|---|
const enum |
Derleme zamanında üyeleri gömer |
Hiz.Yavas (const enum) |
Derlenmiş kodta 0 literaline dönüşür |
const enum nesnesi |
Çalışma zamanında yoktur |
Inlining |
Üye değerinin kullanım yerinde gömülmesi |