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/statements/class/index.html | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/statements/class/index.html (limited to 'files/pt-br/web/javascript/reference/statements/class') diff --git a/files/pt-br/web/javascript/reference/statements/class/index.html b/files/pt-br/web/javascript/reference/statements/class/index.html new file mode 100644 index 0000000000..4a07ded20f --- /dev/null +++ b/files/pt-br/web/javascript/reference/statements/class/index.html @@ -0,0 +1,85 @@ +--- +title: class +slug: Web/JavaScript/Reference/Statements/class +tags: + - Classes + - Declaração + - ES2015 + - ES6 + - Estático + - JavaScript + - Static +translation_of: Web/JavaScript/Reference/Statements/class +--- +
{{jsSidebar("Statements")}}
+ +
A declaração class cria uma nova classe com dado nome usando a herança do protótipo base.
+ +

 

+ +

Você também pode definir uma classe usando {{jsxref("Operators/class", "class expression", "", 1)}}.

+ +

Sintaxe

+ +
class name [extends] {
+  // class body
+}
+
+ +

Descrição

+ +

Assim como as expressões de classe, o corpo de uma declaração de classe é executado em strict mode.

+ +

Declarações de classe não são {{Glossary("Hoisting", "hoisted")}} (ao contrário de function declarations).

+ +

Exemplos

+ +

Declaração simples de classe

+ +

No exemplo a seguir, primeiro definimos uma classe chamada Polygon, então extendemos essa classe para criar uma classe chamada Square. Note que super(), usada no construtor, só pode ser usada em construtores e deve ser chamada antes da chave this ser usada.

+ +
class Poligono {
+  constructor(altura, largura) {
+    this.nome = 'Polígono';
+    this.altura = altura;
+    this.largura = largura;
+  }
+}
+
+class Quadrado extends Poligono {
+  constructor(altura) {
+    super(altura, altura);
+    this.nome = 'Quadrado';
+  }
+}
+ +

Especificações

+ + + + + + + + + + + + + + +
EspecificaçãoStatusComentário
{{SpecName('ES6', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES6')}}definição inicial.
+ +

Compatibilidade de Browser

+ + + +

{{Compat("javascript.statements.class")}}

+ +

Veja também

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