Middle
Mi a különbség az interface és a type között a TypeScript-ben? Melyiket részesíted előnyben és milyen helyzetekben?
sobes.tech MI
Válasz az MI-től
TypeScriptben az interface és a type gyakran használatos típusok leírására, de közöttük különbségek vannak:
- Az
interfaceaz objektumok szerkezetének leírására szolgál, és támogatja a deklaratív összefésülést (declaration merging), ami kényelmes a típusok bővítéséhez a kód különböző részein. - A
typesokoldalúbb: nemcsak objektumokat, hanem uniókat, metszeteket, primitív típusokat stb. írhatunk le vele.
Például:
interface User {
name: string;
age: number;
}
type ID = string | number;
type UserWithID = User & { id: ID };
Előnyben részesítem az interface használatát objektumok leírására, amikor bővíthetőségre és egyértelműbb szerkezetre van szükség, míg a type összetettebb uniókhoz vagy olyan esetekhez, amikor nemcsak objektumokat írunk le. A választás a feladattól és a projekt stílusától függ.