От нуля до героя в TypeScript
TypeScript делает ваш JavaScript-код более безопасным. Он помогает находить ошибки еще до запуска кода. Это руководство описывает путь от базовых до продвинутых концепций.
TypeScript добавляет статическую типизацию в JavaScript. Он преобразует ваш код в обычный JavaScript для браузера.
Базовые типы
- number: целые числа или числа с плавающей точкой
- boolean: true или false
- string: текст
- symbol: уникальные идентификаторы
- bigint: большие целые числа
Аннотации типов Вы определяете типы при создании переменных: let name: string = "Alice"; let age: number = 30;
Массивы и объекты
- Массивы: let fruits: string[] = ["apple", "banana"];
- Объекты: let user: { name: string; age: number } = { name: "Bob", age: 25 };
Функции
Вы можете указать, что функция принимает и что она возвращает. Используйте void, если функция ничего не возвращает.
function greet(name: string): string {
return "Hello, " + name;
}
Продвинутые структуры
- Type Aliases (Псевдонимы типов): определение пользовательского имени для типа.
- Interfaces (Интерфейсы): определение структуры объекта.
- Enums (Перечисления): создание набора именованных констант.
- Tuples (Кортежи): создание массива с фиксированным количеством элементов и определенными типами.
Сложная логика
- Union Types (Объединение типов): позволяют переменной содержать более одного типа.
- Intersection Types (Пересечение типов): объединяют несколько типов в один.
- Generics (Обобщения): создание переиспользуемых компонентов, работающих со многими типами.
- Utility Types (Вспомогательные типы): использование встроенных инструментов, таких как
PartialилиPick, для изменения типов.
Лучшие практики
- Используйте
typeдля простых псевдонимов и примитивов. - Используйте
interfaceдля описания структур объектов. - Избегайте использования
any. Это лишает TypeScript его главного преимущества — безопасности. - Используйте
unknownвместоany, если вы не уверены в типе. - Позволяйте компилятору выводить типы самостоятельно, если код понятен.
TypeScript помогает уверенно создавать крупные приложения.
Источник: https://dev.to/miasalazar/from-zero-to-hero-in-typescript-425j