constructor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2016.

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 contiver 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).

js
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 é:

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

Para as classes filhas o construtor padrão é:

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

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-static-semantics-constructormethod

Compatibilidade com navegadores

Veja também