class
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 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
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.
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 Language Specification # sec-class-definitions |
Compatibilidade com navegadores
BCD tables only load in the browser