CodeBlanks Logo Icon CodeBlanks

const enum

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);  // 0

Sabit 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

index.ts
// 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

index.ts
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

Soru
____ enum Boyut { Kucuk, Orta, Buyuk }
Cevap
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

Başlangıç bölümündeki tüm dersler