// Exercício 1
const pessoa = {
nome: 'José',
nota: [5, 7, 2, 9],
calcularMediaNotas: function () {
const media = this.nota.reduce((x, y) => x + y, 0) / this.nota.length
return media.toFixed(2)
},
classificarDesempenho: function () {
const media = parseFloat(this.calcularMediaNotas())
return media >= 9 ? 'Desempenho excelente' :
media >= 7.6 ? 'Bom desempenho' :
media >= 6 ? 'Desempenho regular' :
'Desempenho insuficiente';
}
}
console.log(`O aluno ${pessoa.nome} obteve a média ${pessoa.calcularMediaNotas()} e foi classificado com um ${pessoa.classificarDesempenho()}`)
// Exercício 2, 3 e 4
const carro = {
marca: 'Fiat',
modelo: 'Uno',
ano: 2001,
cor: 'Preto',
ligado: false,
ligar: function () {
if (this.ligado) return 'O carro já está ligado'
this.ligado = true;
return 'O carro foi ligado'
},
desligar: function () {
if (!this.ligado) return 'O carro já está desligado'
this.ligado = false
return 'O carro foi desligado'
},
obterdetalhes: function () {
const estado = this.ligado ? 'ligado' : 'desligado';
return `Detalhes do carro: Marca: ${this.marca}, Modelo: ${this.modelo}, Ano: ${this.ano}, Cor: ${this.cor}, Estado: ${estado}`
},
placa: 'ABC-1234'
}
Object.defineProperty(carro, 'placa', { enumerable: false })
for (let prop in carro) {
console.log(prop, carro[prop])
}
// Exercício 5
const carroNovo = {
marca: 'Honda',
modelo: 'Civic',
ano: 2010,
cor: 'Amarelo'
}
const carroComNovosDetalhes = { ...carro, ...carroNovo, placa: carro.placa }
console.log(carroComNovosDetalhes)
carroComNovosDetalhes.placa = 'DEF-5675'
console.log(carroComNovosDetalhes)
console.log(Object.keys(carro))
console.log(carro.obterdetalhes())
console.log(carro.ligar())
console.log(carro.desligar())