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
Especificação | Status | Comentário |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Class definitions' in that specification. |
Padrão | definição inicial. |
Compatibilidade de Browser
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.