TypeScript · Essencial · Português · Técnico
herança de interface
Uso de extends em uma interface para herdar as propriedades de outra, ou de várias, acrescentando ou refinando membros. Modela relações 'é um' entre formas de objeto.
Onde usar
Aparece ao compor modelos: interface Admin extends Usuario. Se o filho redefinir uma propriedade com tipo incompatível com o do pai, o compilador acusa erro na própria declaração, o que protege a relação.
Em código
interface Animal { nome: string }
interface Chip { id: number }
interface Cao extends Animal, Chip {
raca: string;
}
const rex: Cao = {
nome: 'Rex', id: 1, raca: 'SRD',
};Exemplos
Admin estende Usuario por herança de interface e só acrescenta as permissões.
O compilador reclamou porque o filho redefiniu a propriedade com um tipo incompatível.
Cuidado
Não confunda extends de interface com implements de classe: extends combina formas de tipo, enquanto implements só verifica que a classe cumpre um contrato.
Sinônimos
interface extends