1. OBJETO

Um objeto é como uma caixa que guarda informações(propriedades) e ações(métodos)

const carro={
marca: "Tesla",
modelo: "Modelo 3",
acelerar(){
console.log("O carro está acelerando...");
}
};
>>>APERTE [F12] PARA VER O RESULTADO

2. CLASSES

As classes é como uma fábrica para criar objetos parecidos. Ele define os atributos e métodos que todos os objetos terão.

class Pessoa{
constructor(nome, idade){
this.nome = nome;
this.idade = idade;
}
apresentar(){
return `Olá, Meu nome é ${this.nome} e tenho ${this.idade} anos.`;
}
}
const pessoa1 = new Pessoa("Ana", 25);
console.log(pessoa1.apresentar());

>>>APERTE [F12] PARA VER O RESULTADO

3. THIS

"THIS" é uma palavra especial que aponta para o próprio objeto onde o código está sendo executado.

class Produto{
constructor(nome, preco){
this.nome = nome;
this.preco = preco;
}
desconto(percentual){
this.preco = this.preco - (this.preco * (percentual / 100));
return this; //permite encadeamento
}
exibir(){
console.log(`Produto: ${this.nome} - Preço: ${this.preco.toFixed(2)}`);
}
}
const p1 = new Produto("Notebook", 4000);
p1.exibir().desconto(10).exibir(); //Metodo encadeado (method chaining)

>>>APERTE [F12] PARA VER O RESULTADO