1
resposta

Resolução Desafio 4:

const carro = {
    marca: 'Chevrolet',
    modelo: 'Onix',
    ano: '2022',
    cor: 'Prata',
    ligado: true,
    ligar: function ligarCarro(){ //Liga o carro somente se ele estiver desligado e imprime no console mensagens sobre o status
        if(this.ligado){
            console.log('O carro ja está ligado');
        }else{
            this.ligado = true;
            console.log('O carro foi ligado');
        }
    },
    desligar: function desligarCarro(){ //Desliga o carro somente se ele estiver desligado e imprime no console mensagens sobre o status
        if(this.ligado){
            this.ligado = false;
            console.log('O carro foi desligado');
        }else{
            console.log('O carro ja está desligado');
        }
    }
}    

// adicionando a propriedade placa ao objeto
carro.placa = 'ZHG-2788';
// definindo as funções e a placa como não enumeráveis
Object.defineProperty(carro,'placa', {enumerable: false});
Object.defineProperty(carro,'ligar', {enumerable: false});
Object.defineProperty(carro,'desligar', {enumerable: false});
// Loop for in para mostrar somente as propriedades enumeraveis do objeto
for (let caracteristicas in carro){
    console.log(`${caracteristicas}: ${carro[caracteristicas]}`);
};
// Usando o metodo keys para mostrar somente as chaves enumeráveis do objeto.
console.log(Object.keys(carro));
// tentando acessar a propriedade placa diretamente.
console.log(carro.placa);
1 resposta

Boa tarde, Mateus! Tudo bem?

Dei uma olhada no seu código e ele está bem organizado e condizente com o que foi passado pelo instrutor, e isso mostra o seu comprometimento com o curso.

Caso surjam quaisquer dúvidas eu estarei à sua disposição.

Abraços e bons estudos!