Symbol()
Symbol() funksiyasi
Symbol() funksiyasi Symbol qiymatlarini yaratadi.
Symbol — noyob va o‘zgarmas primitiv qiymat.
Symbol’lar odatda noyob xususiyat kalitlari sifatida ishlatiladi.
Sintaksis
Symbol()
Symbol(description)
Parametrlar
| Parametr | Tavsif |
|---|---|
| description | Ixtiyoriy. Symbol uchun string ko‘rinishidagi tavsif. |
Qaytariladigan qiymat
| Chaqiruv | Qaytaradi |
|---|---|
Symbol() |
Primitiv symbol qiymati |
Symbol’lar yaratish
Misol
const id = Symbol();
Tavsif bilan:
const id = Symbol("userId");
Symbol tipi
Symbol’lar noyob
Har bir Symbol qiymati noyob.
Symbol tavsiflari
Tavsif faqat nosozliklarni tuzatish (debugging) va ko‘rsatish maqsadlarida ishlatiladi.
Symbol’lar obyekt kalitlari sifatida
Symbol’lardan obyekt xususiyatlarining kalitlari sifatida foydalanish mumkin.
Bu, ehtimol, eng amaliy qo‘llanish holatidir.
Misol
const id = Symbol("id");
const person = {
name: "John"
};
person[id] = 123;
O‘zingiz sinab ko‘ring »
Global symbol’lar
Symbol.for() metodi umumiy global symbol’ni yaratadi yoki mavjudini qaytaradi.
Misol
const a = Symbol.for("id");
const b = Symbol.for("id");
(a === b) // true
Symbol va String
| Symbol | String |
|---|---|
| Har doim noyob | Takroriy qiymatlarga ega bo‘lishi mumkin |
| Primitiv tip: symbol | Primitiv tip: string |
| Ko‘pincha obyekt kalitlari sifatida ishlatiladi | Ko‘pincha matn qiymatlari sifatida ishlatiladi |
Konstruktor emas
Symbol() konstruktor emas.
new kalit so‘zini Symbol() bilan ishlatib bo‘lmaydi.
Misol
new Symbol("id"); // TypeError
Taniqli (well-known) symbol’lar
JavaScript obyekt xatti-harakatini moslashtiradigan o‘rnatilgan, taniqli (well-known) symbol’larni taqdim etadi.
Symbol.iteratorSymbol.asyncIteratorSymbol.toStringTagSymbol.hasInstance
Tip haqida ma’lumot
| Xususiyat | Qiymat |
|---|---|
| Funksiya sifatida chaqiriladi | Ha |
| Konstruktor sifatida chaqiriladi | Yo‘q |
| Qaytaradi | Primitiv symbol qiymatlari |
| Primitiv tip | symbol |
| Noyob qiymatlar | Ha |
Brauzerlarda qo‘llab-quvvatlash
Symbol() — ECMAScript6 (ES6 2015) imkoniyati.
JavaScript 2015 2017-yil iyunidan beri barcha brauzerlarda qo‘llab-quvvatlanadi:
| Chrome 51 |
Edge 15 |
Firefox 54 |
Safari 10 |
Opera 38 |
| 2016-yil may | 2017-yil aprel | 2017-yil iyun | 2016-yil sentabr | 2016-yil iyun |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
