javascript - Typescript'te `export type` nedir?
TypeScript'te aşağıdaki sözdizimini fark ediyorum.
export type feline = typeof cat;
Bildiğim kadarıyla, type yerleşik bir temel tür değildir, ne de bir arayüz veya sınıftır. Aslında, daha çok bir takma ad verme sözdizimi gibi görünüyor, ancak tahminimi doğrulayacak bir referans bulamıyorum.
Peki yukarıdaki ifade ne anlama geliyor?
Cevap #1
Bu bir tip takma adıdır - bir tipe başka bir ad vermek için kullanılır.
(Burada type ve interface'i karşılaştırın)
Örneğinizde, feline, cat ne ise onun türü olacaktır.
İşte daha kapsamlı bir örnek:
interface Animal {
legs: number;
}
const cat: Animal = { legs: 4 };
export type feline = typeof cat;
feline Animal türünde olacak ve onu istediğiniz yerde tür olarak kullanabilirsiniz.
const someFunc = (cat: feline) => {
doSomething(cat.legs);
};
export basitçe onu dosyadan dışa aktarır. Bu, bunu yapmakla aynıdır:
type feline = typeof cat;
export {
feline
};
