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:
- Method shorthand: Você declarou o método direto como
exibirStatus() { ... }, sem precisar escrever a palavra function. Isso é ótimo! - 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!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!