CodeBlanks Logo Icon CodeBlanks

Enum üyeleri

Enum üyelerine erişim ve ters eşleme öğrenirsin.

Enum üyelerine erişim

Enum üyelerine nokta yazımıyla erişirsin: EnumAdi.Uye. Numeric enum'da bu erişim üyenin sayı değerini verir. Üyenin değeri, açıkça atandıysa o sayı, aksi halde otomatik artan sayıdır.

enum Yon { Kuzey, Guney }
console.log(Yon.Kuzey);  // 0
console.log(Yon.Guney);  // 1

Önceki üyeye değer atanmışsa, sonraki üye otomatik olarak bir fazlasını alır.

Ters eşleme

Numeric enum'larda ters eşleme vardır: sayıdan üye adına geçebilirsin. Kod[10] gibi bir kullanım, o değere sahip üyenin adını dize olarak verir. Bu özellik yalnızca numeric enum'larda çalışır, string enum'larda çalışmaz.

enum Kod { A = 10, B }
console.log(Kod[10]);  // "A"
console.log(Kod.B);   // 11

Ters eşleme, sayıdan isme dönüşüm yapmanı sağlar.

Uygulama Renk sabitinde ters eşleme

Renk adında bir const tanımla; Kirmizi 0 ve Mavi 1 değerlerine eşlensin. Ters eşleme için sayı değerlerini de anahtar olarak ekle (ör. anahtar 1 değeri "Mavi"). Renk[1] ile elde edilen ismi console.log ile yazdır.

Başlangıç kodu

index.ts
// Renk adında bir const tanımla
// Kirmizi 0 ve Mavi 1 ile eşle
// ters eşleme için sayıları da anahtar yap
// Renk[1] ile ismi yazdır

Örnek çözüm

index.ts
const Renk = { Kirmizi: 0, Mavi: 1, 0: "Kirmizi", 1: "Mavi" };
console.log(Renk[1]);

Beklenen çıktı

Mavi

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>enum Kod { A = 10, B }</code> tanımında <code>Kod.B</code> kaçtır?

  • 1
  • 11 Doğru cevap
  • 10
  • 0

Açıklama: <code>A = 10</code> olduğundan <code>B</code> otomatik olarak bir fazlasını, yani <code>11</code>'i alır.

2 Ters eşleme ile ismi bul

Soru
enum Kod { A = 10, B }
let isim = Kod[____];
Cevap
enum Kod { A = 10, B }
let isim = Kod[10];

Açıklama: <code>A = 10</code> olduğundan ters eşleme <code>Kod[10]</code> <code>"A"</code> döner; <code>0</code>, <code>1</code> ve <code>100</code> hiçbir üyeye karşılık gelmez.

3 Erişim ve ters eşleme

Kavram Anlamı
Yon.Kuzey Üyenin sayı değerini verir
Kod[10] Ters eşleme ile ismi verir
Reverse mapping Yalnızca numeric enum'larda çalışır
String enum Ters eşleme desteklemez

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