Capítulo 7. Interfaces
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Porque é que só usas o
Formas de tipo incorporadas e aborrecidas quando
Podemos fazer o nosso próprio!
Eu mencionei no Capítulo 4, "Objetos", que embora os aliases de tipo para tipos de objeto { ... } sejam uma forma de descrever formas de objeto, o TypeScript também inclui um recurso de "interface" que muitos desenvolvedores preferem. Interfaces são outra forma de declarar uma forma de objeto com um nome associado. Interfaces são, em muitos aspectos, semelhantes a tipos de objeto com alias, mas geralmente são preferidas por suas mensagens de erro mais legíveis, desempenho mais rápido do compilador e melhor interoperabilidade com classes.
Aliases de tipo versus interfaces
Segue-se uma recapitulação rápida da sintaxe de como um tipo de objeto com pseudónimo descreveria um objeto com um born: number e name: string:
typePoet={born:number;name:string;};
Apresenta aqui a sintaxe equivalente para uma interface:
interfacePoet{born:number;name:string;}
As duas sintaxes são quase idênticas.
Dica
Os desenvolvedores de Typescript que preferem ponto-e-vírgula geralmente os colocam após aliases de tipo e não após interfaces. Essa preferência reflete a diferença entre declarar uma variável com um ; e declarar uma classe ou função sem.
A verificação de atribuibilidade e as mensagens de erro do Typescript para interfaces também funcionam ...