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
};

Súvisiace články