Enum üyeleri
- TypeScript kursu
- Başlangıç
- Ders 23/89
- 4 dk
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); // 11Ters 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
// 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
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
enum Kod { A = 10, B }
let isim = Kod[____];
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 |