JavaScript kursi

Brauzer va server uchun universal til. DOM, async/await, ES6+ va zamonaviy JS.

O'rta · 85 ta dars · ~3 oy

Mavzular: ES6+ sintaksis, DOM manipulyatsiya, Event handling, Async/Await, Fetch API, Prototip va OOP, Modullar, LocalStorage, Error handling, Zamonaviy patterns

Kirish va Asoslar

  1. JavaScript nima? Brauzer da qanday ishlaydi, V8 engine
  2. O'zgaruvchilar — var, let, const va ularning farqi
  3. Ma'lumot turlari — string, number, boolean, null, undefined, symbol, bigint
  4. Operatorlar — arifmetik, taqqoslash, mantiqiy, bitwise
  5. Type Coercion — avtomatik tur o'zgartirish va uning xavflari
  6. Shartlar — if/else, switch, ternary
  7. Sikllar — for, while, do-while, for...of, for...in
  8. Funksiyalar — declaration, expression, arrow function

Funksiyalar chuqurroq

  1. Scope — global, function, block scope
  2. Hoisting — o'zgaruvchi va funksiyalar qanday ko'tariladi
  3. Closure — nima va qanday ishlaydi
  4. Higher Order Functions — funksiyani parametr va qaytish qiymati sifatida
  5. Callback funksiyalar
  6. Pure funksiyalar va Side Effects
  7. Recursion — o'z-o'zini chaqirish
  8. IIFE — Immediately Invoked Function Expression

Ob'ektlar va Massivlar

  1. Ob'ektlar — yaratish, o'qish, o'zgartirish, o'chirish
  2. Ob'ekt metodlari — this kalit so'zi
  3. Ob'ekt metodlari — Object.keys, values, entries, assign, freeze
  4. Destructuring — ob'ekt va massiv
  5. Spread va Rest operatori
  6. Massivlar — yaratish va asosiy metodlar — push, pop, shift, unshift, splice, slice
  7. Massiv metodlari — map, filter, reduce
  8. Massiv metodlari — find, findIndex, some, every, flat, flatMap
  9. Optional Chaining va Nullish Coalescing
  10. String metodlari — split, join, trim, replace, includes, startsWith, endsWith, padStart, padEnd

OOP

  1. Prototype va Prototype Chain
  2. Constructor funksiyalar
  3. Class — asoslar, constructor, maydonlar
  4. Class — extends va super
  5. Class — static, getter, setter
  6. Private maydonlar — # belgisi
  7. Mixin pattern

Asinxron JavaScript

  1. Sinxron va Asinxron — farqi va nima uchun kerak
  2. Event Loop — Call Stack, Task Queue, Microtask Queue
  3. Callback va Callback Hell
  4. Promise — asoslar, then, catch, finally
  5. Promise kombinatorlari — all, allSettled, race, any
  6. Async/Await — asoslar
  7. Async/Await — xatolarni ushlash, parallel va ketma-ket bajarish
  8. Fetch API — HTTP so'rovlar, headers, method, body
  9. Fetch API — xatolarni ushlash, loading holati, AbortController

Brauzer API lari

  1. DOM — getElementById, querySelector, querySelectorAll
  2. DOM — createElement, appendChild, innerHTML, textContent
  3. DOM — addEventListener, removeEventListener, event ob'ekti
  4. DOM — Event Bubbling, Capturing, Delegation
  5. DOM — forma bilan ishlash — input, submit, validation
  6. BOM — window, location, history, navigator
  7. Local Storage va Session Storage
  8. Cookie — o'qish, yozish, o'chirish
  9. WebSocket — real-time ulanish
  10. Intersection Observer — lazy loading uchun
  11. MutationObserver — DOM o'zgarishlarini kuzatish

Modullar

  1. ES Modullar — import, export, re-export
  2. Dynamic import — lazy loading
  3. CommonJS — require, module.exports
  4. ES Modullar va CommonJS farqi

Ilg'or mavzular

  1. Iterator va Generator
  2. Symbol — nima va qachon kerak
  3. Proxy va Reflect
  4. WeakMap va WeakSet — nima uchun kerak
  5. Map va Set — Object va Array dan farqi, qachon ishlatiladi
  6. Error turlari va xatolarni boshqarish — try, catch, finally, custom error
  7. Regular Expression — asoslar va amaliyot
  8. Garbage Collection — xotira qanday tozalanadi, Memory Leak

Funksional dasturlash

  1. Funksional dasturlash nima va nima uchun kerak (tez kunda)
  2. Immutability — o'zgarmaslik (tez kunda)
  3. Composition va Pipe pattern (tez kunda)
  4. Currying va Partial Application (tez kunda)

Vanilla JS + Vite

  1. Vite nima va nima uchun kerak — webpack bilan farqi (tez kunda)
  2. Vite o'rnatish va loyiha tuzilishi (tez kunda)
  3. Vite — import.meta.env, environment variables (tez kunda)
  4. Vite — CSS, SCSS, PostCSS sozlash (tez kunda)
  5. Vite — asset lar bilan ishlash — rasm, font, svg (tez kunda)
  6. Vite — proxy sozlash — API so'rovlar uchun (tez kunda)
  7. Vite — build va optimize qilish (tez kunda)
  8. Vanilla JS + Vite — real loyiha — SPA yaratish (tez kunda)
  9. Vanilla JS + Vite — router — history API bilan (tez kunda)
  10. Vanilla JS + Vite — state boshqarish — oddiy store pattern (tez kunda)

Amaliy va Professional mavzular

  1. Design Patterns — Singleton, Factory, Observer, Strategy (tez kunda)
  2. Testing — Jest bilan JavaScript testlash (tez kunda)
  3. Debugging — brauzer DevTools da xatolarni topish (tez kunda)
  4. Performance — debounce, throttle, memoization (tez kunda)
  5. Security — XSS, CSRF va ulardan himoya (tez kunda)
  6. Accessibility — a11y asoslari, ARIA (tez kunda)