1
resposta

Fiquei um pouco confusa sobre se era realmente necessário criar múltiplos objetos ou apenas um.

Nos exercícios, foi indicado que deveríamos criar vários livros, mas fiquei um pouco confusa sobre se era realmente necessário criar múltiplos objetos ou apenas um. Ainda assim, optei por seguir a interpretação de que eram vários e aqui está o resultado com múltiplos livros criados. =/

// Crie um arquivo chamado livro.js. Nesse arquivo, crie um objeto livro que represente as informações de um livro.

let livro = {
    titulo : 'Um corpo na biblioteca',
    autor : 'Agatha Christie',
    anoPublicacao : 2023,
    genero : "Mistério"

// No final do arquivo livro.js, instancie o objeto livro com dados de algum livro que você goste e imprima os detalhes do livro no console.

}
    console.log(`O titulo do livro é: ${livro.titulo}`);
    console.log(`Detalhes do libro: ${JSON.stringify(livro)}`);

// Crie uma nova variável chamada anoAtual e atribua a ela o ano atual (utilize new Date().getFullYear()). 
// Crie um objeto chamado livro2 com as seguintes propriedades: título, autor, ano de publicação e gênero.

let anoAtual = new Date().getFullYear();
    console.log(`Ano atual: ${anoAtual}`);

    let livro2 = {
        titulo : 'Maria la del Barrio',
        autor : 'Inés Rodena',
        anoDePublicacao : '2010',
        genero : 'Romántico'
    }

// Adicione a propriedade idadePublicacao diretamente ao objeto livro2, representando há quantos anos o livro foi publicado. 
// Calcule essa idade subtraindo o anoDePublicacao do anoAtual.

livro2.idadePublicacao = anoAtual - livro2.anoDePublicacao;
    console.log(`O livro foi publicado há: ${livro2.idadePublicacao} anos`);

// Crie uma string chamada mostrarDetalhes contendo os detalhes do livro, incluindo a informação da idade de publicação.

const mostrarDetalhes = {
    titulo : livro2,
    autor : livro2,
    anoDePublicacao : livro2,
    genero : livro2
}

console.log(mostrarDetalhes);

// Crie um objeto livro com as seguintes propriedades: título, autor, ano de publicação, gênero, idade de publicação. 
// Depois, utilize colchetes para acessar diretamente as propriedades do objeto livro e imprimir no console os detalhes do livro.

const livro3 = {
    titulo : '',
    autor : '',
    genero : '',
    idadeDePublicacao: ''
}

console.log([livro3]);

// adicione uma nova propriedade chamada avaliacao. Esta propriedade deve ser inicializada como null.

livro3.avaliacao = null;
    console.log(livro3);

// Caso a propriedade avaliacao seja null, atribua a avaliação ao objeto livro.

    if (livro3.avaliacao === null) {
        livro3.avaliacao = 7.5;
    } else{
        livro3.avaliacao = 'o livro já possui uma avaliação';
    }

    console.log(livro3);

// altere o gênero do livro para "Aventura".

livro3.genero = 'Aventura';

// exclua a propriedade avaliacao do objeto livro

delete livro3.avaliacao;

// exiba os detalhes do livro no console, verificando se as informações atualizadas, sem a avaliação, são exibidas corretamente.

console.log(livro3);
1 resposta

Oi Sara! Como vai?

No contexto dos exercícios, a ideia é praticar a criação e manipulação de objetos em JavaScript, por isso foi sugerido criar múltiplos objetos. Isso ajuda a reforçar o entendimento sobre como lidar com diferentes instâncias de objetos, cada uma com suas próprias propriedades e valores.

No seu código, você criou diferentes objetos para representar livros, o que está correto dentro do contexto do exercício. Vou te dar um exemplo prático para esclarecer ainda mais:

Imagine que você está criando um sistema de biblioteca. Cada livro na biblioteca seria representado por um objeto diferente, pois cada livro tem suas próprias características, como título, autor e ano de publicação. Assim, ter múltiplos objetos faz sentido.

No entanto, se você estivesse apenas demonstrando as propriedades de um único livro, poderia criar apenas um objeto. A escolha entre criar múltiplos objetos ou apenas um depende do contexto e do que você deseja alcançar com o seu código.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.