class

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

 Colaboradores desta página: AlanCezarAraujo, Selminha
 Última atualização por: AlanCezarAraujo,