1
resposta

Resolução

const maquina = {
    nome: 'computador',
    funcionando: true,
    exibirStatus() {
        this.funcionando === true ? console.log(`A maquina ${this.nome} esta em funcionamento.`) : console.log(`A maquina ${this.nome} esta parada.`)
    }
}

maquina.exibirStatus()
1 resposta

Oii, Henry! Tudo bem?

Parabéns pela resolução! Sua solução ficou excelente e muito funcional.

Você aplicou dois conceitos de JavaScript moderno que deixaram seu código mais limpo do que a solução padrão do exercício:

  1. Method shorthand: Você declarou o método direto como exibirStatus() { ... }, sem precisar escrever a palavra function. Isso é ótimo!
  2. Operador ternário: Você substituiu o if/else tradicional por uma única linha de verificação.

Tenho apenas duas dicas para você polir ainda mais esse código no futuro:

1. Verificação booleana
Como a propriedade this.funcionando já é um valor booleano (true ou false), você não precisa comparar explicitamente com === true. O JavaScript já entende a veracidade apenas com a variável.

2. Evitando repetição (DRY)
Para não repetir o console.log duas vezes, você pode colocar o ternário dentro do template string ou salvar o estado em uma variável.

Olha como ficaria uma versão alternativa baseada na sua lógica:

const maquina = {
    nome: 'computador',
    funcionando: true,
    exibirStatus() {
        // O ternário decide apenas o texto do status
        const estado = this.funcionando ? "está em funcionamento" : "está parada";
        
        console.log(`A máquina ${this.nome} ${estado}.`);
    }
}

maquina.exibirStatus();

Continue praticando, você está no caminho certo!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!