1
resposta

[Projeto] Resolução de atividades | 1. O que são objetos

// 1 

titulo (string): título do livro.
autor (string): nome do autor do livro.
anoPublicacao (number): ano de publicação do livro.
genero (string): gênero do livro.
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.
*/

const infosLivro = {
    titulo: 'O prisioneiro de Azkaban',
    autor: 'J. K. Rowling',
    anoPublicacao: 1999,
    genero: 'Fantasia, Ficção e Aventura'
};

console.log(`Detalhes do livro: 
         Título: ${infosLivro.titulo}
         Autor: ${infosLivro.autor}
         Ano de Publicação: ${infosLivro.anoPublicacao}
         Gênero: ${infosLivro.genero}`)
// 2

const anoAtual = new Date().getFullYear();

const livro = {
    titulo: 'Harry Potter e a Pedra Filosofal',
    autor: 'J. K. Rowlling',
    anoPublicacao: 1997,
    genero: 'Fantasia, Ficção e Aventura'
};

const idadeLivro = anoAtual - livro.anoPublicacao;
const mostrarDetalhes = livro;

console.log(`O livro ${livro.titulo}, tem ${idadeLivro} anos de publicação.`);
console.log('Detalhes do livro: ', [livro]);

// 3

const livro = {
    titulo: 'Harry Potter e a Câmara Secreta',
    autor: 'J. K. Rowlling',
    anoPublicacao: 1998,
    genero: 'Fantasia, Ficção e Aventura'
};

const anoAtual = new Date().getFullYear();
const idadeLivro = anoAtual - livro.anoPublicacao;

livro.idadeDePublicacao = idadeLivro;

console.log('Detalhes do livro: ');
console.log('Título: ' + livro['titulo']);
console.log('Autor: ' + livro['autor']);
console.log('Ano de publicacao: ' + livro['anoPublicacao']);
console.log('Gênero: ' + livro['genero']);
console.log('Idade da publicação: ' + livro['idadeDePublicacao'] + ' anos');

// 4 

const anoAtual = new Date().getFullYear();

const livro = {
    titulo: 'Harry Potter e o Cálice de Fogo',
    autor: 'J. K. Rowlling',
    anoPublicacao: 2000,
    genero: 'Fantasia, Ficção e Aventura',
    idadePublicacao: anoAtual - 2000,
    avaliacao: null,
};

const novaAvaliacao = {nota: 5.0, comentario: 'Amo esse livro!'};
if (livro.avaliacao === null) {
    livro.avaliacao = novaAvaliacao;
} else {
    console.log('Este livro já possui uma avaliação.')
}

console.log('Detalhes do livro: ');
console.log('Título: ' + livro.titulo);
console.log('Autor: ' + livro.autor);
console.log('Ano de publicacao: ' + livro.anoPublicacao);
console.log('Gênero: ' + livro.genero);
console.log('Idade da publicação: ' + livro.idadePublicacao + ' anos');
console.log('Avaliação: ' + (livro.avaliacao === null ? 'Nenhuma avaliação foi feita.' : 'Nota: ' + livro.avaliacao.nota + 'Comentário: ' + livro.avaliacao.comentario))

// 5 

const anoAtual = new Date().getFullYear();

const livro = {
    titulo: 'Harry Potter e a Ordem da Fênix',
    autor: 'J. K. Rowlling',
    anoPublicacao: 2003,
    genero: 'Fantasia e Ficção',
    idadePublicacao: anoAtual - 2003,
};

livro.genero = 'Aventura';

console.log(livro)

// 6 

const anoAtual = new Date().getFullYear();

const livro = {
    titulo: 'Harry Potter e o Enigma do Príncipe',
    autor: 'J. K. Rowlling',
    anoPublicacao: 2005,
    genero: 'Aventura',
    idadePublicacao: anoAtual - 2005,
    avaliacao: 'Excelente livro!',
};

delete livro.avaliacao;
console.log(`Detalhes do livro: `, [livro]);
1 resposta

Oii, Alana!

Muito obrigada por compartilhar seu código com a comunidade Alura. Fico feliz em ver como você trabalhou a criação e manipulação de objetos para representar livros. Você utilizou bem as propriedades e métodos, além de incluir a avaliação dos livros, o que traz uma interação interessante ao seu código!

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!