JavaScript yakuniy loyiha: vazifalar ilovasi

Bu darsda butun bo’lim bo’ylab o’rganilganlarni bitta ishlaydigan ilovada birlashtiramiz: vazifalar ro’yxati — qo’shish, bajarish, o’chirish, filtrlash va saqlash bilan.

Loyiha tuzilishi

Haqiqiy loyihada kod modullarga bo’linadi:

vazifalar/
├── index.html
└── src/
    ├── main.js        ← ulash va ishga tushirish
    ├── holat.js       ← ma'lumot va uning o'zgarishi
    ├── saqlash.js     ← localStorage bilan ishlash
    └── korinish.js    ← DOM chizish

Asosiy tamoyil — vazifalarni ajratish: holatni boshqaruvchi kod DOM’ni bilmaydi, chizuvchi kod ma’lumotni o’zgartirmaydi.

Holat qatlami

Ma’lumot va uning o’zgarishi — sof funksiyalar bilan:

JavaScript

Har funksiya alohida sinaladi — testlash darsidagi tamoyil.

Saqlash qatlami

JavaScript

Uchta himoya: try/catch, massiv ekanini tekshirish va har elementning tuzilmasini tekshirish. localStorage darsidagi qoida.

To’liq ilova

JavaScript
Sahifa

Ishlab ko’ring: vazifa qo’shing, belgilang, filtrlarni bosing.

Qanday naqshlar ishlatildi

Naqsh Dars
O’zgartirmaslik ([...massiv], { ...obyekt }) ES6 sintaksis
map, filter bilan holat o’zgarishi Massiv metodlari
Bitta chizish funksiyasi DOM yaratish
textContent — XSS himoyasi Xavfsizlik
Bitta tinglovchi, data-amal Hodisa delegatsiyasi
try/catch bilan saqlash localStorage

Keyingi qadamlar

Loyihani kengaytirish uchun g’oyalar:

  1. Tahrirlash — vazifa matnini ikki marta bosib o’zgartirish;
  2. Muddatsana qo’shish va o’tganini ajratish;
  3. Saralash — sana yoki muhimlik bo’yicha;
  4. Serverfetch bilan API’ga saqlash;
  5. Testlar — holat funksiyalari uchun Vitest;
  6. BundlerVite bilan modullarga bo’lish.

Bo’lim yakuni

Shu bilan JavaScript bo’limi tugadi. Siz o’rgandingiz:

  • Asoslar — o’zgaruvchi, tur, shart, sikl, funksiya, massiv, obyekt;
  • DOM — sahifani o’qish, o’zgartirish, element yaratish, hodisalar;
  • Asinxronlik — callback, Promise, async/await, fetch;
  • Tuzilma — klass, meros, modul, prototip;
  • Amaliyot — testlash, xavfsizlik, tezlik, kod sifati.

Amaliy mashq

  1. Ilovani o’z faylingizga ko’chirib, ishga tushiring;
  2. localStorage ni ulang — sahifa yangilanganda saqlanib qolsinmi?
  3. “Hammasini tozalash” tugmasini qo’shing;
  4. bajarilgan vazifalarni o’chiradigan tugma yasang;
  5. holat funksiyalariga test yozing;
  6. loyihani modullarga bo’lib, Vite bilan yig’ing.

Qisqacha xulosa

  • Kodni qatlamlarga ajrating: holat, saqlash, ko’rinish.
  • Holatni o’zgartirmang — yangi massiv/obyekt qaytaring.
  • Bitta chiz() funksiyasi butun ko’rinishni holatdan qayta quradi.
  • Hodisalarni delegatsiya bilan bitta joyda ushlang.
  • Foydalanuvchi matni uchun doim textContent.
  • Tashqi ma’lumotni (localStorage, API) har doim tekshirib qabul qiling.

Bu dars foydali bo'ldimi?

marta ko'rildi