From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/classes/constructor/index.html | 174 +++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/classes/constructor/index.html (limited to 'files/pt-br/web/javascript/reference/classes/constructor') diff --git a/files/pt-br/web/javascript/reference/classes/constructor/index.html b/files/pt-br/web/javascript/reference/classes/constructor/index.html new file mode 100644 index 0000000000..3b8a64429b --- /dev/null +++ b/files/pt-br/web/javascript/reference/classes/constructor/index.html @@ -0,0 +1,174 @@ +--- +title: constructor +slug: Web/JavaScript/Reference/Classes/constructor +tags: + - Classes + - ECMAScript6 + - Experimental + - JavaScript orientado a objetos + - Nova versão JavaScript +translation_of: Web/JavaScript/Reference/Classes/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 {{jsxref("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).

+ +
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çãoStatusComentário
{{SpecName('ES6', '#sec-static-semantics-constructormethod', 'Constructor Method')}}{{Spec2('ES6')}}Definição inicial
{{SpecName('ESDraft', '#sec-static-semantics-constructormethod', 'Constructor Method')}}{{Spec2('ESDraft')}}
+ +

Compatibilidade de navegadores

+ +


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

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suporte básicoChrome(42.0)NightlyDesconhecidoDesconhecidoDesconhecido
Construtores padrãoDesconhecidoNightlyDesconhecidoDesconhecidoDesconhecido
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidAndroid WebviewFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileChrome for Android
Suporte básicoNãoChrome(42.0)CompatNightlyDesconhecidoDesconhecidoDesconhecidoCompatChrome(42.0)
Construtores padrãoDesconhecidoDesconhecidoCompatNightlyDesconhecidoDesconhecidoDesconhecidoDesconhecido}}
+
+ +

+ +

Veja também

+ + -- cgit v1.2.3-54-g00ecf