Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

class

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨março de 2017⁩.

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 class expression.

Sintaxe

js
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 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.

js
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

Specification
ECMAScript® 2026 Language Specification
# sec-class-definitions

Compatibilidade com navegadores

Veja também