Skip to main content

Що таке TypeScript?

TypeScript - це надбудова (або надмножина) мови JavaScript, що додає систему статичної типізації та низку можливостей, які спрощують розробку великих проєктів.


Основна ідея

TypeScript дозволяє визначати типи даних (наприклад, string, number, boolean, object, array, function тощо) ще до виконання програми. Це допомагає знаходити помилки на етапі компіляції, а не під час роботи коду.

javascript
function greet(name: string): string { return `Привіт, ${name}!`; } greet('Tim'); // коректно greet(123); // помилка компіляції: очікується string

Як це працює

  • Код на TypeScript (.ts) транспілюється у звичайний JavaScript (.js).
  • Компілятор tsc перевіряє типи і перетворює код на стандартний JavaScript, який можна запускати в браузері або Node.js.

Основні переваги

  1. Раннє виявлення помилок - IDE та компілятор підказують, де порушуються типи.
  2. Інтелектуальне автодоповнення - редактори на кшталт VSCode краще розуміють структуру коду.
  3. Підтримка сучасних можливостей JS - TypeScript за потреби компілюється у старіші версії JavaScript.
  4. Краще проєктування API - типи допомагають документувати інтерфейси та класи.
  5. Сумісність з JavaScript - будь-який JS-код є валідним TypeScript.

Основні можливості

  • Інтерфейси (interface)
  • Узагальнення (Generics)
  • Модулі та простори імен
  • Перелічення (enum)
  • Декоратори
  • Типи об'єднань (|) та перетинів (&)
  • Звуження типів (type narrowing)
  • Утилітні типи (Partial, Pick, Record тощо)

Приклад комплексного використання

javascript
interface User { id: number; name: string; isAdmin?: boolean; // необов'язкове поле } function printUser(user: User): void { const role = user.isAdmin ? 'адміністратор' : 'користувач'; console.log(`${user.name} - ${role}`); } const user: User = { id: 1, name: 'Tim' }; printUser(user);

Підсумок

TypeScript - це інструмент для підвищення надійності та зручності розробки на JavaScript. Він робить код передбачуваним, безпечним і само-документованим, особливо у великих проєктах.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.