Ответ
TypeScript использует статическую типизацию с возможностью вывода типов. Основные типы:
Примитивные:
let isDone: boolean = false;
let count: number = 42;
let name: string = 'Alice';
Специальные:
let u: undefined = undefined;
let n: null = null;
Объектные:
let list: number[] = [1, 2, 3];
let tuple: [string, number] = ['hello', 10];
Пользовательские:
type User = {
id: number;
name: string;
};
interface Animal {
sound(): void;
}
Особенности:
- Поддерживает union types (
string | number) - Имеет type guards и type assertions
- Позволяет использовать generics
- Поддерживает структурную типизацию (duck typing)
TypeScript проверяет типы на этапе компиляции, но в runtime типы не существуют.