Что такое `export type` в Typescript?

Я заметил следующий синтаксис в Typescript.

export type feline = typeof cat;

Насколько я знаю, type не является встроенным базовым типом, а также не является интерфейсом или классом. На самом деле это больше похоже на синтаксис для псевдонимов, но я не могу найти ссылку, чтобы проверить мои предположения.

Итак, что означает выражение выше?

Ответ 1

Это псевдоним типа - он использовал другое имя для типа.

В вашем примере feline будет типом cat.

Здесь приведен более полный пример:

interface Animal {
    legs: number;
}

const cat: Animal = { legs: 4 };

export type feline = typeof cat;

feline будет типом Animal, и вы можете использовать его как тип, где хотите.

const someFunc = (cat: feline) => {
    doSomething();
};

export просто экспортирует его из файла. Это так же, как это делается:

type feline = typeof cat;

export {
    feline
};