ExpertiDict

JavaScript · Essencial · Inglês · Técnico

extends

/ɪkˈstɛndz/palavra-chave

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); // true

Exemplos

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'.

Veja também

Todos os termos de JavaScript