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
- TypeScript nima? Nima uchun kerak, JavaScript dan farqi
- O'rnatish — tsc, Node.js, birinchi TypeScript fayl
- Type annotation — qachon va qayerda yoziladi
- tsconfig.json asoslari — strict va muhim sozlamalar
Asosiy Turlar
- string, number, boolean — asosiy turlar
- null, undefined, void — farqlari va ishlatilishi
- any, unknown, never — qachon qaysi, xavflari
- Array — T[] va Array<T>, readonly array
- Tuple — aniq uzunlik, labeled tuple, optional element
- Object tur — inline tipizatsiya, nested object
- Type alias — yaratish, ishlatish, kengaytirish
- Union turlar — | operatori, narrowing bilan ishlash
- Intersection turlar — & operatori, mixin pattern
- Literal turlar — 'qizil' | 42 | true, as const
- Enum — numeric, string enum, const enum, qachon ishlatiladi
Interface
- Interface — asoslar, sintaksis, ob'ekt shakli
- Optional (?), readonly, Index signature
- Interface extends — meros olish, bir nechta
- Function interface — chaqiriladigan tur, construct signature
- Interface vs Type alias — qachon qaysi, farqlari
- Declaration merging — interface avtomatik birlashtirish
Funksiyalar
- Funksiya parametr va qaytish turlari
- Optional, default va rest parametrlar TypeScript da
- Function overload — bir nom, turli imzo
- Callback va higher-order funksiyalar tiplari
- this parametri — kontekst turi, noImplicitThis
Type Narrowing
- typeof guard — primitive turlarni tekshirish
- instanceof guard — class instanсini tekshirish
- in operator guard — xususiyat mavjudligini tekshirish
- Discriminated union — tag field pattern
- Type predicate (is) va exhaustiveness checking (never)
Generics
- Generics nima uchun kerak? — muammo va yechim
- Generic funksiyalar — T parametri, bir nechta parametr
- Generic interface va type alias
- Generic class — tur parametrli sinflar
- Constraint (extends) va default type parametr
- keyof, typeof operatorlari va lookup types (T[K])
OOP
- Class — TypeScript da asoslar, oddiy JavaScript dan farqi
- Access modifiers — public, private, protected
- readonly xususiyatlar va parameter properties
- Getter va Setter — TypeScript da
- Static members va static initialization blocks
- Abstract class — mavhum sinflar va metodlar
- Interface implementation — implements, bir nechta interface
Ilg'or Turlar
- Mapped types — { [K in keyof T]: ... }
- Conditional types — T extends U ? X : Y
- infer kalit so'zi — conditional type ichida tur chiqarish
- Template literal types — `${string}Id`, Uppercase, Lowercase
- Recursive types — o'ziga murojaat qiladigan turlar
- Utility Types — Partial, Required, Readonly, Record
- Utility Types — Pick, Omit, Extract, Exclude, NonNullable
- Utility Types — ReturnType, Parameters, InstanceType, Awaited
Dekoratorlar
- Dekorator nima? — experimentalDecorators, metadata reflection
- Class dekorator — sinfni o'zgartirish va kengaytirish
- Method dekorator — metodlarni wrapping qilish
- Property dekorator — xususiyatlarni boshqarish
- Parameter dekorator — parametrlarni belgilash
Modullar, Sozlash va Amaliy
- Declaration files — .d.ts yaratish, @types, module augmentation
- tsconfig.json to'liq — target, lib, paths, project references
- TypeScript bilan React — props, hooks, events, children tiplari
- TypeScript bilan Node.js va Express — tiplar, middleware, generic