TypeScript

TypeScript — это язык программирования, разработанный Microsoft, который расширяет JavaScript добавлением статической типизации. Это позволяет обнаруживать ошибки на этапе компиляции и улучшает процесс разработки.

Основные возможности TypeScript

  • Статическая типизация — проверка типов во время компиляции
  • Интерфейсы — описание структуры объектов
  • Классы и наследование — ООП возможности
  • Generics — обобщенное программирование
  • Enum — перечисления

Примеры типизации

 1// Базовые типы
 2let name: string = "John";
 3let age: number = 25;
 4let isActive: boolean = true;
 5
 6// Массивы
 7let numbers: number[] = [1, 2, 3];
 8let strings: Array<string> = ["a", "b", "c"];
 9
10// Объекты
11interface User {
12    id: number;
13    name: string;
14    email?: string; // опциональное поле
15}
16
17// Функции
18function greet(user: User): string {
19    return `Hello, ${user.name}!`;
20}
21
22// Generics
23function identity<T>(arg: T): T {
24    return arg;
25}

Преимущества TypeScript

  • Раннее обнаружение ошибок
  • Лучшая поддержка IDE (автодополнение, рефакторинг)
  • Самодокументируемый код
  • Безопасный рефакторинг
  • Постепенное внедрение в существующие проекты

Компиляция TypeScript

  • tsc — официальный компилятор TypeScript
  • babel — с плагином TypeScript
  • esbuild — быстрая сборка
  • swc — высокопроизводительный компилятор

Конфигурация tsconfig.json

 1{
 2    "compilerOptions": {
 3        "target": "ES2020",
 4        "module": "commonjs",
 5        "strict": true,
 6        "esModuleInterop": true,
 7        "outDir": "./dist"
 8    },
 9    "include": ["src/**/*"],
10    "exclude": ["node_modules"]
11}

Установка TypeScript

Для установки TypeScript используй один из следующих способов:

1# С помощью npm
2npm install -g typescript
3
4# С помощью yarn
5yarn global add typescript
6
7# Для проекта локально
8npm install --save-dev typescript

FAQ

Стоит ли использовать TypeScript для небольших проектов?

Да, TypeScript полезен даже для малых проектов благодаря лучшей поддержке редакторов и предотвращению ошибок.

Можно ли постепенно мигрировать с JavaScript на TypeScript?

Да, TypeScript полностью совместим с JavaScript. Ты можешь переименовать .js файлы в .ts и постепенно добавлять типы.