// Crie um arquivo chamado metodosObjeto.js para realizar este exercício.
import {carro} from './percorrendo_obj.js' ;
carro.ligado = false,
carro.ligar = function(){
if(this.ligado){
console.log('O carro já está ligado');
}else{
this.ligado = true;
console.log('O carro está ligado')
}
};
carro.desligar = function(){
if(this.ligado){
this.ligado = false;
console.log('O carro foi desligado');
}else {
console.log('O carro já está desligado');
}
};
// Um método que retorna uma string contendo todos os detalhes do carro (marca, modelo, ano, cor, estado de ligado/desligado).
carro.obterDetalhes = function(){
console.log(`Carro da marca ${carro.marca}do modelo ${carro.modelo}, do ano ${carro.ano}. O carro está ${carro.ligado ? 'ligado' : 'desligado'} `);
}
carro.ligar();
carro.obterDetalhes();
carro.desligar();
carro.obterDetalhes();
// adicione uma nova propriedade chamada placa representando a placa do veículo. Defina a propriedade placa como não enumerável
Object.defineProperty (carro, 'placa', {
value: 'FBL123',
enumerable : false,
});
// Utilize um loop for...in para percorrer as propriedades do objeto carro e imprima no console apenas as propriedades enumeráveis.
for (let chave in carro){
const tipo = typeof carro[chave];
if (tipo !== 'object' && tipo !== 'function'){
const texto = `A chave ${chave}, tem o valor ${carro[chave]}`;
console.log(texto);
};
};
// Utilize o método Object.keys() para obter um array contendo apenas as chaves enumeráveis do objeto carro e imprima no console esse array.
const arrEnumeravel = Object.keys(carro);
console.log(arrEnumeravel);
// Tente acessar a propriedade placa diretamente usando carro.placa e imprima no console o resultado obtido.
console.log(`A placa do carro é: ${carro.value}`);
// Novo objeto chamado carroNovo para representar as informações de um novo carro.
const novoCarro = {
marca : 'Chevrolet',
modelo : 'Suburban',
ano : 1911,
cor : 'Preto'
};
console.table(novoCarro);
// Utilize o operador de espalhamento (...) para criar um novo objeto chamado carroComNovosDetalhes
// que herde todas as propriedades do objeto carro e adicione as propriedades do objeto carroNovo.
const carroComNovosDetalhes = {... carro, ... novoCarro};
console.table(carroComNovosDetalhes);
// Modifique o valor de uma propriedade no objeto carroComNovosDetalhes e imprima novamente o objeto no console para confirmar as alterações.
carroComNovosDetalhes.cor = 'Branco';
console.table(carroComNovosDetalhes);