javascript - Čo je `export type` v Typescripte?
Všimol som si nasledujúcu syntax v Typescripte.
export type feline = typeof cat;
Pokiaľ viem, type nie je vstavaný základný typ, ani nie je rozhraním alebo triedou. V skutočnosti to vyzerá skôr ako syntax pre aliasovanie, na ktorú však nemôžem nájsť referenciu, aby som overil svoju domnienku.
Tak čo znamená vyššie uvedené vyhlásenie?
Odpoveď č. 1
Toto je alias typu - slúži na to, aby sa typu dala iná názov.
(Porovnajte type vs interface tu)
Vo vašom príklade bude feline typ toho, čím cat je.
Tu je podrobnejší príklad:
interface Animal {
legs: number;
}
const cat: Animal = { legs: 4 };
export type feline = typeof cat;
feline bude typ Animal a môžete ho používať ako typ kdekoľvek chcete.
const someFunc = (cat: feline) => {
doSomething(cat.legs);
};
export jednoducho exportuje z toho súboru. Je to to isté, ako keby ste robili toto:
type feline = typeof cat;
export {
feline
};
