[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Classes/constructor [Back]  [Original]

constructor - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

constructor

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since maro de 2016.

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

In this article

Sintaxe

constructor([argumentos]) { ... }

Descrio

Apenas um mtodo especial com o nome constructor pode existir em uma classe. O erro SyntaxError ser mostrado se a classe contiver mais de um mtodo constructor.

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

Um construtor padro ser usado se voc no especific-lo*.*

Exemplos

Usando o mtodo constructor

O trecho de cdigo 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 referncia. O this agora se refere a classe filha Quadrado
    this.nome = "Quadrado";
  }

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

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

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

Construtores padro (constructors)

Um construtor padro ser usado pela classe caso nenhum seja especificado. Para as classes de base o construtor padro :

js
constructor() {} //construtor criado por padro

Para as classes filhas o construtor padro :

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

Especificaes

Specification
ECMAScript 2027 LanguageSpecification
# sec-static-semantics-constructormethod

Compatibilidade com navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page