JavaScript β 0 dan Expertgacha (O'zbek tilida)¶
Bu β JavaScript'ni mutlaqo noldan professional darajagacha o'rgatadigan to'liq qo'llanma. Hech qanday oldingi dasturlash tajribasi talab qilinmaydi: birinchi console.logdan tortib closure, this, async, prototiplar, design pattern va TypeScript ko'prigigacha.
Har bir modul: nazariya + Why (nega shunday) + 20 ta masala (yechimi bilan).
Qanday ishlatish kerak¶
- Modullarni tartib bilan o'qing (0 β 30). Har biri oldingisiga tayanadi, sakramang.
- Har modul oxiridagi 20 ta masalani avval o'zingiz yeching, keyin yashirin "βΊ Yechimlar" bo'limiga qarang. Faqat o'qib ketsangiz β bilim o'rnashmaydi.
- Kodni brauzer konsolida (
F12β Console) yoki Node.jsda yozib sinab ko'ring. Dasturlash β yozish bilan o'rganiladi. - "Keng tarqalgan xatolar" va
Whybloklarini e'tibordan qochirmang β ko'pchilik aynan shu joylarda qoqiladi.
Talablar (prerequisites)¶
| Kerak | Daraja |
|---|---|
| Kompyuter, brauzer (Chrome/Firefox) | Asoslar |
| HTML/CSS | Shart emas (3-qism β DOM uchun ozgina foydali) |
| Matn muharriri (VS Code tavsiya etiladi) | Asoslar |
| Oldingi dasturlash tajribasi | Shart emas β noldan boshlaymiz |
To'liq yo'l xaritasi (roadmap)¶
I bosqich β Asoslar¶
| Qism | Modullar | Mavzular |
|---|---|---|
| 1-QISM β Asoslar | 0β4 | Kirish, o'zgaruvchilar va turlar, operatorlar, shartlar (if/switch), sikllar |
| 2-QISM β Strukturalar | 5β8 | Funksiyalar, massivlar va metodlar, obyektlar, String/Number metodlari |
II bosqich β Brauzer va asinxronlik¶
| Qism | Modullar | Mavzular |
|---|---|---|
| 3-QISM β Brauzer (DOM) | 9β12 | DOM, events, forms va validation, localStorage |
| 4-QISM β Asinxron JS | 13β16 | Callbacks va Event Loop, Promises, async/await, Fetch API va REST |
III bosqich β Chuqur JS¶
| Qism | Modullar | Mavzular |
|---|---|---|
| 5-QISM (1-bo'lim) β OOP yadrosi | 17β20 | Scope/closure/hoisting, this/call/apply/bind, prototiplar, classlar |
| 5-QISM (2-bo'lim) | 21β23 | ES6+ va modullar, error handling, regular expressions |
IV bosqich β Expert¶
| Qism | Modullar | Mavzular |
|---|---|---|
| 6-QISM (1-bo'lim) β Expert | 24β27 | Functional programming, iterators/generators/Symbols, Proxy/Reflect, performance va memory |
| 6-QISM (2-bo'lim) β Yakun | 28β30 | Design patterns, bundlers va build tools, TypeScript'ga ko'prik |
Jami: 31 modul, har birida 20 masala β ~620 amaliy mashq.
Boshlashdan oldin¶
Kodni ishga tushirishning ikki oson yo'li:
- Brauzer konsoli (eng tez): brauzerni och β
F12β Console bo'limi β kod yoz, Enter bos. - Node.js (terminal): nodejs.org dan o'rnat,
dastur.jsfayl yarat,node dastur.jsbilan ishga tushir.
Tayyor bo'lsang β 1-QISM: Asoslar β dan boshla.