} Псевдонимы типов могут определять примитивные типы (символ, булевое значение, строку, число, bigint и т. д.), в то время как интерфейсы не могут. Обратите внимание на то, что псевдоним типа не создает новых типов (отсюда и его название). Интерфейсы, напротив, всегда создают новые типы. Типы-объединения {
type Fruit = ‘apple’ | ‘lemon’;
type Vegetable = ‘potato’ | ‘tomato’;
// ‘apple’ | ‘lemon’ | ‘potato’ | ‘tomato’
type Food = Fruit | Vegetable;
const apple: Food = ‘apple’;
} Типы-объединения также можно определить только с помощью псевдонимов типов. Типы-кортежи {
type Animal = [name: string, age: number];
const cat: Animal = [‘’, 1];
} Типы-кортежи также можно определить только с помощью псевдонимов типов. Типы объектов/функций И интерфейс, и тип могут объявлять типы объектов или типы функций. Однако интерфейс может объявлять один и тот же интерфейс несколько раз, и они будут объединены автоматически, в то время как псевдонимы типов не объединяются и должны быть уникальными. {