JavaScript · Essencial · Inglês · Técnico
extends
Palavra-chave que faz uma classe herdar de outra, ligando seus protótipos. Também permite estender classes nativas, como Array e Error.
Onde usar
Aparece em hierarquias de classes e em erros personalizados, como class MeuErro extends Error. Em code review, prefere-se composição a herança profunda.
Em código
class MeuErro extends Error {
constructor(msg) {
super(msg);
this.name = 'MeuErro';
}
}
const e = new MeuErro('x');
console.log(e instanceof Error); // trueExemplos
The custom error extends Error so we keep the stack trace.
O erro personalizado estende Error para mantermos o stack trace.
Prefer composition over a deep extends chain.
Prefira composição a uma cadeia profunda de extends.
Cuidado
Esquecer super() no constructor da subclasse: sem ele, o new lança erro.
Sinônimos
herança
Origem
Do inglês extend, 'estender'.