Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке TypeScript?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**TypeScript** - це надбудова (або *надмножина*) мови JavaScript, що додає систему **статичної типізації** та низку можливостей, які спрощують розробку великих проєктів. **Ключове:** TypeScript дозволяє визначати типи даних ще до виконання програми, що допомагає знаходити помилки на етапі компіляції, а не під час роботи коду.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**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. > Він робить код **передбачуваним, безпечним і само-документованим**, особливо у великих проєктах.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.