type vs interface — co wybrać?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Oba pozwalają opisać kształt obiektu. Interface wspiera rozszerzanie i declaration merging, a type może nazywać również union, krotkę lub typ prymitywny.
TypeScript
interface User { id: string; name: string }
interface Admin extends User { permissions: string[] }
type Status = 'idle' | 'loading' | 'error';
type Named = { name: string };Praktyka: zachowuję konwencję zespołu. Nie ma zasady, że jeden mechanizm jest zawsze lepszy.
Pułapka: typ opisuje i sprawdza kod przed uruchomieniem. Sam interface nie waliduje JSON otrzymanego z API i nie istnieje jako obiekt runtime.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- B-P11 · Czym różnią się type i interface w TypeScript? — JavaScript, TypeScript i Node.js