TypeScript основи

Типи, інтерфейси, generics, enum, utility types та декоратори — перевірте знання TypeScript для фронтенд-розробки.

8-10 хв 20 питань TypeScript

TypeScript: типізований JavaScript

TypeScript -- мова від Microsoft, що додає статичну типізацію до JavaScript. Компілюється у звичайний JS та працює скрізь, де працює JavaScript. TypeScript знаходить помилки на етапі розробки, а не в продакшені. Вбудована підтримка в VS Code забезпечує автодоповнення, навігацію та рефакторинг. За опитуванням Stack Overflow, TypeScript входить у топ-5 найулюбленіших мов розробників.

Тип Приклад Опис
string, number, booleanlet name: string = "JS"Примітивні типи
arraynumber[] або Array<number>Типізований масив
tuple[string, number]Фіксована структура
enumenum Color {Red, Green}Набір іменованих констант
anylet x: any = 42Будь-який тип (уникайте)
unknownlet x: unknownБезпечна альтернатива any
void / never(): void, (): neverНемає повернення / недосяжний

Interface, Type та Union Types

Interface описує структуру об\'єкта: обов\'язкові та опціональні (?) властивості. Type alias створює іменований тип для будь-якої конструкції. Union types (string | number) дозволяють змінній мати один із кількох типів. Intersection types (&) об\'єднують типи. Literal types обмежують значення: type Direction = "up" | "down" | "left" | "right". Type narrowing через typeof, instanceof та in звужує тип у умовних блоках. Опціональний chaining (?.) та nullish coalescing (??) працюють з nullable типами.

Interface vs Type

  • interface -- для об\'єктів, розширюється (extends)
  • type -- для union, intersection, примітивів
  • Interface можна доповнювати (declaration merging)
  • На практиці: interface для API, type для утиліт

tsconfig.json

  • strict: true -- увімкнути всі перевірки
  • target -- версія JS на виході
  • module -- система модулів
  • noImplicitAny -- заборона неявного any

Generics та Utility Types

Generics створюють гнучкі типи: function identity<T>(arg: T): T працює з будь-яким типом, зберігаючи типову безпеку. Utility types трансформують існуючі типи: Partial<T> робить усі поля опціональними, Required<T> -- обов\'язковими, Pick<T, K> вибирає конкретні поля, Omit<T, K> виключає поля, Record<K, V> створює словник. Mapped types та Conditional types дозволяють створювати складні типові трансформації.

Про тест

Тест «TypeScript основи» містить 20 питань про типи, interface, type, generics, enum, union/intersection, utility types, tsconfig та type narrowing.

Часті питання

Корисні матеріали

Статті з психології та нові тести — раз на тиждень