Observo la siguiente sintaxis en Typescript.
export type feline = typeof cat; Hasta donde yo sé, el type no es un tipo básico incorporado , ni es una interfaz o clase. En realidad, se parece más a una sintaxis para alias, que sin embargo no puedo encontrar una referencia para verificar mi suposición.
Entonces, ¿qué significa la declaración anterior?
Este es un alias de tipo : se usa para dar otro nombre a un tipo.
En tu ejemplo, feline será el tipo de cualquier cat .
Aquí hay un ejemplo más completo:
interface Animal { legs: number; } const cat: Animal = { legs: 4 }; export type feline = typeof cat; feline será el tipo Animal , y puedes usarlo como tipo donde quieras.
const someFunc = (cat: feline) => { doSomething(); }; export simplemente lo exporta desde el archivo. Es lo mismo que hacer esto:
type feline = typeof cat; export { feline };