Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

o meu console.log não esta obtendo detalhes do carro .


```const carro = {
    marca : "palio",
    modelo: "Adventure",
    ano : 2012,
    cor :  "vermelho",
    ligado: true,
}
 

  // Método para ligar o carro
  function ligar () {
    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
   function desligar () {
    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
  function  obterDetalhes() {
    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``
1 resposta
solução!

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!