Menu
Coddy logo textTech

Validação do Autor do Livro

Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 52 de 56.

challenge icon

Desafio

Melhore o construtor da classe Book adicionando validação. Atualmente, o Book aceita qualquer valor para o parâmetro author, mas ele deve aceitar apenas uma instância de Author.

Sua tarefa:

  1. No construtor de Book, adicione uma verificação if-else
  2. Se o autor for válido (uma instância da classe Author) usando author instanceof Author, defina this.#author = author
  3. Caso contrário (autor inválido): Registre exatamente “Invalid author: must be Author instance”. Defina this.#author = null

Dessa forma, o livro ainda deve ser criado mesmo com um autor inválido.

Experimente você mesmo

import { Author } from './Author.js';
import { Book } from './Book.js';

// Testes
const rowling = new Author('J.K. Rowling');

// Caso válido (deve funcionar silenciosamente)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // Deve exibir: "Author: J.K. Rowling"

// Casos inválidos (deve registrar a mensagem, mas ainda criar o livro)
const invalid1 = new Book('Fake Book', 'String Author');

Todas as lições de Programação Orientada a Objetos