Middle
Qual é a diferença entre interface e type em TypeScript? O que preferes usar e em que situações?
sobes.tech IA
Resposta da IA
No TypeScript, interface e type são frequentemente usados para descrever tipos, mas há diferenças entre eles:
interfacedestina-se a descrever a estrutura de objetos e suporta fusão declarativa (declaration merging), o que é útil para expandir tipos em diferentes partes do código.typeé mais versátil: pode descrever não apenas objetos, mas também uniões, interseções, primitivos, etc.
Por exemplo:
interface User {
name: string;
age: number;
}
type ID = string | number;
type UserWithID = User & { id: ID };
Prefiro usar interface para descrever objetos quando preciso de capacidade de expansão e uma estrutura mais clara, e type para uniões complexas ou quando preciso descrever algo além de objetos. A escolha geralmente depende da tarefa e do estilo do projeto.