Zamonaviy JavaScript: destructuring va spread

2015-yildan beri JavaScript’ga ko’p qulay yozuvlar qo’shildi. Ular kodni qisqartiradi va zamonaviy loyihalarda hamma joyda uchraydi.

Destructuring — massivdan ajratish

JavaScript

Eski usul uzunroq edi:

const birinchi = ranglar[0];
const ikkinchi = ranglar[1];

Obyektdan ajratish

JavaScript

Bu yerda uch narsa: xossani ajratish, boshqa nom berish (guruh: sinf) va mavjud bo’lmasa standart qiymat.

Funksiya parametrida

JavaScript

Funksiya obyektning faqat kerakli qismini oladi — nima ishlatilishi darhol ko’rinadi.

Spread — yoyish

JavaScript

... massiv elementlarini “yoyadi”. Bu nusxa olishning eng qulay usuli — nusxa o’zgarganda asl massiv tegilmadi.

Obyektlar uchun ham ishlaydi:

JavaScript

Keyin kelgan xossa oldingisini almashtiradi — shuning uchun yosh: 21 ustun chiqdi.

Rest — yig’ish

Xuddi shu ... teskari vazifani ham bajaradi:

JavaScript

Chap tomonda (o’zlashtirishda) — yig’adi; o’ng tomonda (chaqiruvda) — yoyadi.

Qisqa xossa nomi

JavaScript

O’zgaruvchi nomi bilan xossa nomi bir xil bo’lsa, bir marta yozish kifoya.

Nullish operatorlari

JavaScript
  • ?? faqat null va undefined da standart qiymatga o’tadi;
  • || esa har qanday falsy qiymatda (0, "" ham).

Shuning uchun son yoki bo’sh matn haqiqiy qiymat bo’lishi mumkin bo’lgan joyda ?? xavfsizroq.

Amaliy mashq

Zamonaviy sintaksisni qo’llang:

  1. Massivdan birinchi ikki elementni destructuring bilan ajrating;
  2. obyektdan ikki xossani ajrating va bittasiga yangi nom bering;
  3. spread bilan ikkita massivni birlashtiring;
  4. obyekt nusxasini olib, bitta xossasini o’zgartiring — asli tegilmadimi?
  5. rest bilan istalgancha argument oladigan funksiya yozing;
  6. ?? va || ni 0 qiymatda solishtiring.

6-qadam ikkalasining farqini aniq ko’rsatadi.

Qisqacha xulosa

  • Destructuring massiv (tartib bo’yicha) va obyektdan (kalit bo’yicha) qiymat ajratadi.
  • Spread ... yoyadi — birlashtirish va nusxa olish uchun.
  • Rest ... yig’adi — qolgan elementlar yoki argumentlar.
  • Xossa nomi o’zgaruvchi bilan bir xil bo’lsa qisqartiriladi: { ism }.
  • ?? faqat null/undefined da ishlaydi, || barcha falsy qiymatda.

Keyingi darsda modullar — kodni fayllarga bo’lishni ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi