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