MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

constructor

O construtor é um método especial para criar e inicializar um objeto criado a partir de uma classe.
 
 

Sintaxe

constructor([argumentos]) { ... }

Descrição

Apenas um método especial com o nome constructor pode existir em uma classe. O erro SyntaxError será mostrado se a classe conter mais de um método constructor.

Um construtor pode usar a palavra reservada super para se referir ao construtor da classe pai (superior).

Um construtor padrão será usado se você não especificá-lo.

Exemplos

Usando o método constructor

O trecho de código foi fornecido por exemplo de classes (live demo).

class Quadrado extends Poligono {
  constructor(comprimento) {
    // super chama o construtor da classe pai que vai atribuir comprimento para
    // os atributos comprimento e altura herdados pela nossa classe filha Quadrado  
    super(comprimento, comprimento);
    // Nas classes filhas, super() deve ser chamado antes de usar o this. Sem ele 
    // vai ocorrer um erro de referência. O this agora se refere a classe filha Quadrado
    this.nome = 'Quadrado';
  }

  // os atributos a seguir são herdados da classe pai Poligono: altura, comprimento e area.

  get area() {
    return this.altura * this.comprimento;
  }

  set area(valor) {
    this.area = valor;
  } 
}

Construtores padrão (constructors)

Um construtor padrão será usado pela classe caso nenhum seja especificado. Para as classes de base o construtor padrão é:

constructor() {} //construtor criado por padrão

Para as classes filhas o construtor padrão é:

constructor(...args) {
  super(...args);
}

Especificações

Especificação Status Comentário
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Constructor Method' in that specification.
Standard Definição inicial
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Constructor Method' in that specification.
Draft  

Compatibilidade de navegadores


Download da versão Firefox para testes (Nightly) em: https://nightly.mozilla.org/

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico Chrome(42.0) Nightly Desconhecido Desconhecido Desconhecido
Construtores padrão Desconhecido Nightly Desconhecido Desconhecido Desconhecido
Característica Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Suporte básico Não Chrome(42.0) CompatNightly Desconhecido Desconhecido Desconhecido CompatChrome(42.0)
Construtores padrão Desconhecido Desconhecido CompatNightly Desconhecido Desconhecido Desconhecido Desconhecido}}

 

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: deadkff01, ThiagoSchetini
 Última atualização por: deadkff01,