TypeScript kursi

JavaScript ning kuchaytirilgan versiyasi. Statik tiplar, xatolarni kompilyatsiyada topish, Generics, Dekoratorlar va katta loyihalarda tartib.

O'rta · 61 ta dars · ~2 oy

Mavzular: Statik tiplar, Interface va Type, Generics, Type Narrowing, Utility Types, Dekoratorlar, OOP, React va Node bilan TS

Kirish

  1. TypeScript nima? Nima uchun kerak, JavaScript dan farqi
  2. O'rnatish — tsc, Node.js, birinchi TypeScript fayl
  3. Type annotation — qachon va qayerda yoziladi
  4. tsconfig.json asoslari — strict va muhim sozlamalar

Asosiy Turlar

  1. string, number, boolean — asosiy turlar
  2. null, undefined, void — farqlari va ishlatilishi
  3. any, unknown, never — qachon qaysi, xavflari
  4. Array — T[] va Array<T>, readonly array
  5. Tuple — aniq uzunlik, labeled tuple, optional element
  6. Object tur — inline tipizatsiya, nested object
  7. Type alias — yaratish, ishlatish, kengaytirish
  8. Union turlar — | operatori, narrowing bilan ishlash
  9. Intersection turlar — & operatori, mixin pattern
  10. Literal turlar — 'qizil' | 42 | true, as const
  11. Enum — numeric, string enum, const enum, qachon ishlatiladi

Interface

  1. Interface — asoslar, sintaksis, ob'ekt shakli
  2. Optional (?), readonly, Index signature
  3. Interface extends — meros olish, bir nechta
  4. Function interface — chaqiriladigan tur, construct signature
  5. Interface vs Type alias — qachon qaysi, farqlari
  6. Declaration merging — interface avtomatik birlashtirish

Funksiyalar

  1. Funksiya parametr va qaytish turlari
  2. Optional, default va rest parametrlar TypeScript da
  3. Function overload — bir nom, turli imzo
  4. Callback va higher-order funksiyalar tiplari
  5. this parametri — kontekst turi, noImplicitThis

Type Narrowing

  1. typeof guard — primitive turlarni tekshirish
  2. instanceof guard — class instanсini tekshirish
  3. in operator guard — xususiyat mavjudligini tekshirish
  4. Discriminated union — tag field pattern
  5. Type predicate (is) va exhaustiveness checking (never)

Generics

  1. Generics nima uchun kerak? — muammo va yechim
  2. Generic funksiyalar — T parametri, bir nechta parametr
  3. Generic interface va type alias
  4. Generic class — tur parametrli sinflar
  5. Constraint (extends) va default type parametr
  6. keyof, typeof operatorlari va lookup types (T[K])

OOP

  1. Class — TypeScript da asoslar, oddiy JavaScript dan farqi
  2. Access modifiers — public, private, protected
  3. readonly xususiyatlar va parameter properties
  4. Getter va Setter — TypeScript da
  5. Static members va static initialization blocks
  6. Abstract class — mavhum sinflar va metodlar
  7. Interface implementation — implements, bir nechta interface

Ilg'or Turlar

  1. Mapped types — { [K in keyof T]: ... }
  2. Conditional types — T extends U ? X : Y
  3. infer kalit so'zi — conditional type ichida tur chiqarish
  4. Template literal types — `${string}Id`, Uppercase, Lowercase
  5. Recursive types — o'ziga murojaat qiladigan turlar
  6. Utility Types — Partial, Required, Readonly, Record
  7. Utility Types — Pick, Omit, Extract, Exclude, NonNullable
  8. Utility Types — ReturnType, Parameters, InstanceType, Awaited

Dekoratorlar

  1. Dekorator nima? — experimentalDecorators, metadata reflection
  2. Class dekorator — sinfni o'zgartirish va kengaytirish
  3. Method dekorator — metodlarni wrapping qilish
  4. Property dekorator — xususiyatlarni boshqarish
  5. Parameter dekorator — parametrlarni belgilash

Modullar, Sozlash va Amaliy

  1. Declaration files — .d.ts yaratish, @types, module augmentation
  2. tsconfig.json to'liq — target, lib, paths, project references
  3. TypeScript bilan React — props, hooks, events, children tiplari
  4. TypeScript bilan Node.js va Express — tiplar, middleware, generic