Sobes.tech
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 interface az 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 type sokoldalú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.