Menu
Coddy logo textTech

Validation de l'auteur du livre

Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 52 sur 56.

challenge icon

Défi

Améliorez le constructeur de la classe Book en ajoutant une validation. Actuellement, Book accepte n'importe quelle valeur pour le paramètre author, mais il ne devrait accepter qu'une instance de Author.

Votre tâche :

  1. Dans le constructeur de Book, ajoutez une vérification if-else
  2. Si l'auteur est valide (une instance de la classe Author) en utilisant author instanceof Author, définissez this.#author = author
  3. Sinon (l'auteur est invalide) : Journalisez exactement “Invalid author: must be Author instance”. Définissez this.#author = null

De cette manière, le livre devrait toujours être créé même avec un auteur invalide.

Essayez vous-même

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

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

// Cas valide (devrait fonctionner silencieusement)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // Devrait afficher : "Author: J.K. Rowling"

// Cas invalides (devrait enregistrer un message mais toujours créer le livre)
const invalid1 = new Book('Fake Book', 'String Author');

Toutes les leçons de Programmation Orientée Objet