Classes no JavaScript


As classes oferecem uma sintaxe mais clara e uma abordagem mais orientada a objetos para criar objetos e construir hierarquias entre as classes (herança). Elas foram ES6 e fornecem uma maneira mais conveniente e legível de criar objetos e definir métodos.

Toda classe em JavaScript deve ter um método especial chamado constructor, que é executado automaticamente quando um novo objeto é criado a partir da classe. Este método é usado para inicializar as propriedades do objeto.

Nota

Os métodos de uma classe são automaticamente anexados ao prototype da classe, eliminando a necessidade de fazer o binding manual de prototypes entre superclasse e subclasse.

Sintaxe

class NomeDaClasse {
 
  constructor(parametros) {
    // Inicialização de propriedades
  }
 
  // Métodos da classe
}

Exemplo

class Pessoa {
  constructor(nome, sobrenome) {
    this.nome = nome;
    this.sobrenome = sobrenome;
  }
}
 
const pessoa = new Pessoa("Luiz", "Otávio");
 
console.log(pessoa); // Pessoa { nome: 'Luiz', sobrenome: 'Otávio' }
class Pessoa {
  constructor(nome, sobrenome) {
    this.nome = nome;
    this.sobrenome = sobrenome;
  }
 
  falar() {
    console.log(`${this.nome} está falando.`);
  }
 
  comer() {
    console.log(`${this.nome} está comendo.`);
  }
 
  beber() {
    console.log(`${this.nome} está bebendo.`);
  }
}
 
const pessoa = new Pessoa("Luiz", "Otávio");
 
console.log(pessoa); // Pessoa { nome: 'Luiz', sobrenome: 'Otávio' }
 
pessoa.falar(); // Luiz está falando.
pessoa.comer(); // Luiz está comendo.
pessoa.beber(); // Luiz está bebendo.

Referências