Obyekt va massiv initsializatorlari

Obyekt va massiv initsializatorlari (initializers) — bu qiymati yangi yaratilgan obyekt yoki massiv bo‘lgan ifodalardir. Bu initsializator ifodalari ba’zan obyekt literallari va massiv literallari deb ham ataladi. Biroq haqiqiy literallardan farqli o‘laroq, ular birlamchi ifodalar emas, chunki ular o‘z tarkibiga xossa va element qiymatlarini belgilovchi bir nechta quyi ifodalarni oladi. Massiv initsializatorlari biroz soddaroq sintaksisga ega, shuning uchun avval ulardan boshlaymiz.

Massiv initsializatori — bu kvadrat qavslar ichiga olingan, vergul bilan ajratilgan ifodalar ro‘yxatidir. Massiv initsializatorining qiymati yangi yaratilgan massivdir. Bu yangi massivning elementlari vergul bilan ajratilgan ifodalarning qiymatlariga initsializatsiya qilinadi:

Massiv initsializatoridagi element ifodalari o‘zlari ham massiv initsializatorlari bo‘lishi mumkin, bu esa bu ifodalar yordamida ichma-ich joylashgan massivlar yaratish mumkinligini anglatadi:

Massiv initsializatoridagi element ifodalari har safar massiv initsializatori bajarilganda qayta bajariladi. Bu shuni anglatadiki, massiv initsializatori ifodasining qiymati har safar bajarilganda farqli bo‘lishi mumkin.

Massiv literaliga undefined elementlarni shunchaki vergullar orasida qiymat qoldirmaslik orqali kiritish mumkin. Masalan, quyidagi massiv beshta elementni, jumladan, uchta undefined elementni o‘z ichiga oladi:

Massiv initsializatoridagi oxirgi ifodadan keyin bitta ortiqcha vergul qoldirishga ruxsat etiladi va bu undefined element yaratmaydi. Biroq oxirgi ifoda indeksidan keyingi har qanday indeks uchun massivga murojaat qilish ifodasi muqarrar ravishda undefined qiymatini beradi.

Obyekt initsializatori ifodalari massiv initsializatori ifodalariga o‘xshaydi, lekin kvadrat qavslar jingalak qavslar bilan almashtiriladi va har bir quyi ifodadan oldin xossa nomi va ikki nuqta keladi:

ES6'da obyekt literallari ancha ko‘p xususiyatlarga boy sintaksisga ega (tafsilotlarni §6.10-bo‘limdan topishingiz mumkin). Obyekt literallari ichma-ich joylashishi mumkin. Masalan:

Biz obyekt va massiv initsializatorlarini 6 va 7-boblarda yana ko‘rib chiqamiz.