// Exercício 1
const pessoa = {
nome: 'Maxine',
notas: [7.6, 7.6, 7.6, 7.6],
calcularMediaNotas() {
const somaNotas = this.notas.reduce((acumulador, valorAtual) => acumulador + valorAtual, 0);
const media = somaNotas / this.notas.length
return parseFloat(media)
},
classificarDesempenho() {
const media = this.calcularMediaNotas() ;
if (media >= 9 && media <= 10) {
console.log(`Média: ${media} | Desempenho: Excelente`)
} else if (media >= 7.6 && media <= 8.9) {
console.log(`Média: ${media} | Desempenho: Bom`)
} else if (media < 7.5 && media < 9) {
console.log(`Média: ${media} | Desempenho: Regular`)
} else if (media < 6 && media >= 0) {
console.log(`Média: ${media} | Desempenho: Insuficiente`)
} else {
console.log('Média abaixo de 0 ou acima de 10 são médias inválidas.')
}
return media
}
}
const mediaMaxine = pessoa.classificarDesempenho()
console.log(mediaMaxine)
// ---
console.log('-------------------')
// Exercício 2
const carro = {
marca: 'Ford',
modelo: 'Ka',
ano: 2012,
cor: 'vermelho'
}
function percorrerCarro() {
for (const key in carro) {
console.log(`A chave '${key}' tem o valor '${carro[key]}'.`)
}
}
percorrerCarro()
// ---
console.log('-------------------')
carro.placa = 'KIW-9838'
percorrerCarro()
// ---
console.log('-------------------')
// Exercício 3
const novoCarro = {
...carro,
ligado: false,
ligar() {
if (this.ligado === false) {
this.ligado = true
console.log('O Carro está ligado!')
return true
}
},
desligar() {
if (this.ligado === true) {
this.ligado = false
console.log('O Carro está desligado!')
return false
}
},
obterDetalhes() {
console.log(`
Marca: ${this.marca}
Modelo: ${this.modelo}
Ano: ${this.ano}
Cor: ${this.cor}
Placa: ${this.placa}
Estado: ${this.ligado === false ? 'Desligado' : 'Ligado'}`);
}
}
console.log(novoCarro)
novoCarro.ligar()
console.log(novoCarro)
novoCarro.desligar()
console.log(novoCarro)
// ---
console.log('-------------------')
novoCarro.obterDetalhes()
console.log('-------------------')
// Exercício 4
Object.defineProperty(carro, 'placa', {enumerable: false})
percorrerCarro()
// ---
console.log('-------------------')
const enumeraveis = Object.keys(carro) // nao retorna a propriedade placa
console.log(enumeraveis) // nao retorna a propriedade placa
console.log('-------------------')
console.log(carro.placa) // retorna o valor de placa
// Exercício 5
// já foi trabalhando durante o exercício num todo.