Symbol nedir?
Symbol ile benzersiz ve değişmez bir primitive değer oluşturmayı öğrenirsin.
Symbol nedir?
JavaScript'te Symbol yedinci primitive türüdür; sayı, dize ve boolean gibi değişmez (immutable) bir değerdir. Symbol() çağırdığında sana özgün, benzersiz bir değer döner.
İlginç olan şu: Symbol('id') iki kez çağrılsa bile her seferinde farklı bir symbol üretir. Parantez içindeki metin yalnızca bir açıklama (description) etiketidir; kimliği etkilemez. typeof Symbol() çağrısı 'symbol' döndürür.
Açıklama etiketi
Parantez içinde verdiğin metin bir açıklama (description) etiketidir. Symbol('user').description çağrısı 'user' döndürür; açıklama verilmezse undefined döner.
Bu etiket yalnızca hata ayıklamada işe yarar: console.log sembolü Symbol(user) biçiminde gösterir. İki sembolün açıklaması aynı olsa bile kimlikleri farklı kalır. Yani açıklama, eşitlik karşılaştırmasında rol oynamaz.
Uygulama İki sembol oluştur ve karşılaştır
İki sembolü first ve second değişkenlerine al. İkisine de 'id' açıklamasını ver. typeof ile first'in 'symbol' olduğunu yazdır. Sonra first !== second karşılaştırmasının sonucunu yazdır.
Örnek çözümü göster
const first = Symbol('id');
const second = Symbol('id');
console.log(typeof first === 'symbol');
console.log(first !== second);
Kendini test et
-
Aşağıdakilerden hangisi Symbol için doğrudur?
- Symbol('x') === Symbol('x') ifadesi false döner
- Symbol('x') === Symbol('x') ifadesi true döner
- Symbol() çağrısı bir nesne (object) döndürür
- typeof Symbol() 'object' döndürür
Cevabı göster
Symbol('x') === Symbol('x') ifadesi false döner — Doğru. Her Symbol() çağrısı benzersiz bir değer üretir; açıklama aynı olsa bile iki sembol birbirine eşit değildir.
-
İki sembolün farklı olduğunu göster
const different = Symbol('x') ____ Symbol('x');Cevabı göster
const different = Symbol('x') !== Symbol('x'); -
Symbol kavramlarını eşleştir
- Symbol()
- Benzersiz değer üretir
- description
- Hata ayıklama etiketi
- typeof Symbol()
- 'symbol' döndürür
- Symbol('x') === Symbol('x')
- false döndürür