Destructuring assignment
JavaScriptda eng ko'p ishlatiladigan ikkita ma'lumot tuzilmasi bu Object va Array hisoblanadi.
- Objects (Obyektlar) bizga kalitlar orqali ma'lumotlarni saqlaydigan bir butun birlik yaratishga imkon beradi.
- Arrays (Massivlar) bizga tartiblangan ro'yxatga ma'lumotlarni yig'ishga imkon beradi.
Lekin, ularni funksiyaga uzatayotganda, barcha elementlarni funksiyada ishlatmasligimiz mumkin. Funksiya faqat ma'lum elementlarni yoki xususiyatlarni talab qilishi mumkin.
Destructuring assignment (Qayta strukturalash) maxsus sintaksis bo'lib, u massiv yoki obyektlarni alohida o'zgaruvchilarga ajratib olishga imkon beradi, bu ko'p hollarda qulayroq hisoblanadi.
Bu sintaksis murakkab funksiyalar bilan yaxshi ishlaydi, masalan, ko'p parametrlarga ega bo'lgan funksiyalar bilan.
Massivlarda destructuring
Keling, massivni o'zgaruvchilarga qanday qilib ajratishni ko'rib chiqamiz:
Endi biz massivning elementlari o'rniga o'zgaruvchilar bilan ishlashimiz mumkin. Bu split kabi metodlar bilan juda yaxshi ishlaydi:
Destructuring bu qisqa yozish shaklidir, massivni "buzmaydi", ya'ni u asl massivni o'zgartirmaydi.
Agar massivdagi ba'zi elementlarni ishlatishni istamasangiz, uni vergul bilan tashlab yuborishingiz mumkin:
Har qanday iterable (iteratsiya qilinadigan obyektlar) bilan ishlaydi
Massivdan tashqari, har qanday iteratsiya qilinadigan obyektlar bilan ham ishlatish mumkin:
Solishtirishga mos keladigan har qanday narsaga o'rnatish mumkin
Destructuringni obyektning xususiyatlariga ham o'rnatish mumkin:
.entries() bilan aylantirish
Object.entries() metodini destructuring bilan birlashtirib, obyekt xususiyatlari va qiymatlarini aylantirish uchun ishlatish mumkin:
O'zgaruvchilarni almashtirish
Ikki o'zgaruvchining qiymatlarini almashish uchun destructuringdan foydalanishingiz mumkin:
Qolgan elementlarni yig'ish: "..."
Agar massivda ortiqcha elementlar bo'lsa, ularni "...rest" operatori yordamida yig'ish mumkin:
Default qiymatlar
Agar massivdagi ba'zi elementlar etishmayotgan bo'lsa, ular undefined
bo'ladi, lekin o'zgaruvchilarga default qiymatlar belgilash mumkin:
Obyektlarda destructuring
Obyektlarni destructuring qilish ham oddiy:
Agar obyekt ichida xususiyatlarning nomini o'zgartirishni istasangiz, shunday qilib yozishingiz mumkin:
Funksiya parametrlarida destructuring
Destructuring murakkab funksiyalar parametrlarini boshqarishda ham qulaydir:
Xulosa
Destructuring assignment - massiv yoki obyektni tezkor ravishda ko'p o'zgaruvchilarga ajratib olish imkonini beradi. Bu oddiy va kuchli sintaksis, ayniqsa murakkab tuzilmalar bilan ishlayotganda juda qulay hisoblanadi.