В TypeScript используется статическая типизация, что означает, что типы данных определяются на этапе компиляции. Определение типов позволяет выявить ошибки и допустить только корректное использование данных.
В TypeScript есть несколько способов определения типов:
1. Явное определение типа:
Можно определить тип переменной или функции явным образом с использованием двоеточия после имени сущности и указанием типа.
Примеры:
let numberVariable: number = 5; function add(a: number, b: number): number { return a + b; }
2. Неявное определение типа:
TypeScript способен выводить типы автоматически на основе присваиваемых значений. Это называется "инференцией типов".
Примеры:
let numberVariable = 5; // тип number let stringVariable = "Hello"; // тип string function multiply(a: number, b: number) { return a * b; // тип возвращаемого значения - number }
3. Использование интерфейсов:
Интерфейсы позволяют определять пользовательские типы, описывающие структуру объекта или тип данных.
Пример:
interface Person { name: string; age: number; } let person: Person = { name: "John", age: 25 };
4. Объединение типов:
TypeScript позволяет создавать союзы типов, что позволяет указывать, что значение может иметь один из нескольких типов.
Пример:
let value: string | number = "Hello"; // значение может быть либо строкой, либо числом function processValue(value: string | number) { // обработка значения без необходимости проверять его тип перед использованием }
Это лишь несколько способов определения типов в TypeScript. Язык предлагает также более мощные концепции, такие как обобщенные типы (generics), перечисления (enums), типы-литералы (literal types) и другие, которые позволяют создавать более точные и гибкие типы для ваших программ.