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