Classes e Objects
Uma classe é um modelo para criar objetos que agrupam dados (propriedades) junto com as funções que operam sobre esses dados (métodos). Todo cachorro que você criar a partir de uma classe Dog compartilha a mesma estrutura, mas guarda seus próprios valores.
main.js
Teste você mesmo →class Dog {
constructor(name, age) {
this.name = name;
this.age = age;
}
bark() {
return `${this.name} says Woof!`;
}
}
const myDog = new Dog("Rex", 3);
console.log(myDog.name);
console.log(myDog.bark());Output
Rex Rex says Woof!
- constructor roda automaticamente quando você cria um novo objeto com new — é onde você configura os dados iniciais do objeto
- this se refere ao objeto específico sobre o qual um método está sendo chamado — é como um método acessa as próprias propriedades do objeto
- this.name = name armazena o valor como uma propriedade, então qualquer método deste objeto pode acessá-lo depois
- new Dog("Rex", 3) cria um objeto real (uma "instância") da classe Dog
Você poderia criar quantos cachorros quisesse a partir da mesma classe — new Dog("Bella", 5), new Dog("Max", 1) — cada um mantendo seu próprio nome e idade de forma independente.
A seguir: promises e async/await — como o JavaScript lida com operações que levam tempo.
Exercício de Prática
Adicione um método honk() à classe Car que retorne `${this.make} says beep!`, e depois imprima o resultado de chamá-lo em um new Car("Toyota").