Olá, Ellyda! Tudo bem?
O problema aqui é que as funções ligar, desligar e obterDetalhes estão definidas como funções independentes, e não como métodos do objeto carro. Portanto, elas não estão vinculadas ao objeto carro.
Seu Código pode ficar mais ou menos assim, Ellyda:
const carro = {
marca : "palio",
modelo: "Adventure",
ano : 2012,
cor : "vermelho",
ligado: true,
// Método para ligar o carro
ligar: function() {
if (!this.ligado) {
this.ligado = true;
console.log('O carro está ligado.');
} else {
console.log('O carro já está ligado.');
}
},
// Método para desligar o carro
desligar: function() {
if (this.ligado) {
this.ligado = false;
console.log('O carro está desligado.');
} else {
console.log('O carro já está desligado.');
}
},
// Método para obter detalhes do carro
obterDetalhes: function() {
const estado = this.ligado ? 'ligado' : 'desligado';
return `Detalhes do carro: Marca: ${this.marca}, Modelo: ${this.modelo}, Ano: ${this.ano}, Cor: ${this.cor}, Estado: ${estado}`;
}
};
console.log(carro.obterDetalhes()); // Obter detalhes do carro e imprimir no console
Dessa forma, as funções ligar()
, desligar()
e obterDetalhes()
passam a ser métodos do objeto carro
e podem ser chamadas utilizando a sintaxe carro.metodo()
.
E obtemos esse resultado no console:
Detalhes do carro: Marca: palio, Modelo: Adventure, Ano: 2012, Cor: vermelho, Estado: ligado
Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!