Kursning yakuniy moduli: qulay matn sintaksisi, o’zgaruvchilar ko’lami va mustaqil o’rganish ko’nikmasi.
Template literal
Backtick (`) bilan yozilgan string ichiga ${} orqali istalgan ifoda qo’yiladi:
const ism = "Aziza";
const yosh = 21;
console.log(`Salom, ${ism}! Kelasi yil ${yosh + 1} yoshga kirasiz.`);
Natija: Salom, Aziza! Kelasi yil 22 yoshga kirasiz.
"Salom, " + ism + "!" uslubidagi yopishtirishlardan ko’ra ancha o’qiladigan; ko’p qatorli matnni ham to’g’ridan-to’g’ri yozish mumkin (Enter ishlaydi).
Tipik xato. Backtick o’rniga oddiy qo’shtirnoq ichida ${ism} yozish — almashtirish ishlamaydi, matn ${ism} holida chiqadi. ${} faqat backtick ichida tirik.
Google, ChatGPT va boshqa manbalar
Dasturchi hamma narsani yodda saqlamaydi — qidirishni biladi. Uch qoida:
- MDN (developer.mozilla.org) — JS bo’yicha eng ishonchli hujjat; metod nomini bilsangiz, to’g’ri shu yerdan qarang.
- Xato matnini aynan yozilganidek qidiring — o’sha xatoni sizdan oldin minglab odam ko’rgan.
- ChatGPT kabi vositalardan tushuntirish so’rang, lekin kodini tushunmasdan nusxalamang — tushunmagan kod keyin sizga qarshi ishlaydi.
Scope chain
O’zgaruvchining "ko’rinish doirasi" uch qavat: global, funksiya va blok (let/const uchun { } ichi). Funksiya o’zida topilmagan nomni tashqariga qarab qidiradi — bu zanjir scope chain deyiladi:
const salom = "Salom";
function aytish() {
const ism = "Bek";
console.log(`${salom}, ${ism}`);
}
aytish();
console.log(typeof ism);
Natija: Salom, Bek, so’ng undefined
Ichkaridan tashqaridagi (salom) ko’rinadi; tashqaridan ichkaridagi (ism) — yo’q. Qidiruv doim ichkaridan tashqariga yuradi, teskarisi emas.
Params va arguments
Parametr — funksiya e’lonidagi nom, argument — chaqirishda berilgan haqiqiy qiymat:
function tanishtir(ism, shahar = "Toshkent") {
console.log(`${ism} — ${shahar}`);
}
tanishtir("Aziza", "Buxoro");
tanishtir("Bek");
Natija: Aziza — Buxoro va Bek — Toshkent
Argument berilmasa parametr undefined bo’ladi; = qiymat bilan zaxira (default) qiymat belgilash mumkin. Ortiqcha argumentlar xatoga olib kelmaydi — shunchaki e’tiborsiz qoladi (hammasini yig’ish kerak bo’lsa — o’tgan moduldagi rest).
Amaliyot
- Talaba objectidan template literal bilan to’liq tanishtiruv gapi yasang.
- Ataylab xato kod yozing (masalan aniqlanmagan funksiya chaqiring), xato matnini o’qing va uni qidirib yechimini toping.
- Uch qavatli scope misoli tuzing: global, funksiya ichi, blok ichi — qaysi qavatdan nima ko’rinishini konsolda isbotlang.
- Default parametrli "buyurtma" funksiyasi yozing: mahsulot majburiy, soni default 1.
Bu — kursning so’nggi moduli: yakuniy testni ishlang. Keyingi qadam — Git/GitHub kursi: kodingizni tarix bilan saqlashni o’rganasiz.