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);