15. Jakie są różnice między interface a type w TypeScript?

W TypeScript zarówno interface, jak i type mogą być używane do definiowania typów obiektów, ale istnieją pewne różnice. Oto najważniejsze z nich:

  1. Rozszerzanie typów: interface pozwala na rozszerzanie innych interfejsów, używając słowa kluczowego extends. Z kolei type pozwala na rozszerzanie przy użyciu operacji & (intersection).
interface Person { name: string; } interface Employee extends Person { salary: number; }
type Person = { name: string }; type Employee = Person & { salary: number };
  1. Deklaracja wielokrotna: interface pozwala na deklarowanie tego samego interfejsu w wielu miejscach, łącząc definicje. type nie obsługuje tej funkcji. Zatem definicja interface może być rozszerzana przez kolejne deklaracje.

  2. Złożoność: type jest bardziej elastyczny niż interface, ponieważ może reprezentować nie tylko obiekty, ale również inne typy, takie jak unie, krotki czy aliasy dla prostych typów.

  3. Kompatybilność: type może być bardziej skomplikowany w przypadku połączeń różnych typów, ale interface daje lepszą czytelność i strukturę.

Podsumowując, zarówno interface, jak i type mają swoje zastosowanie, a wybór między nimi zależy od kontekstu.

devFlipCards 2025

Akceptujesz cookies?

Cookies to niewielkie fragmenty danych zapisywane lokalnie na twoim urządzeniu. Pomagają w funkcjonowaniu naszej strony - zapisują Twoje ustawienia strony takie jak motyw czy język. Poprawiają funkcjonowanie reklam i pozwalają nam na przeprowadzanie analityki odwiedzin strony. Korzystając ze strony zgadasz się na ich wykorzystanie.