This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.
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. |
Standard | definição inicial. |
Compatibilidade de Browser
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 42.0 | Nightly build | ? | ? | ? |
Array subclassing | 43.0 | Não suportado | ? | ? | ? |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | Não suportado | 42.0 | Nightly build | ? | ? | ? | 42.0 |
Array subclassing | Não suportado | 43.0 | Não suportado | ? | ? | ? | 43.0 |
Veja também
Etiquetas do documento e colaboradores
Etiquetas:
Colaboradores desta página:
AlanCezarAraujo,
Selminha
Última atualização por:
AlanCezarAraujo,