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, la classe Book accepte n'importe quelle valeur pour le paramètre author, mais elle 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 (auteur invalide) : Affichez exactement “Invalid author: must be Author instance” dans la console. Définissez this.#author = null

De cette façon, le livre doit tout de même ê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); // Should output: "Author: J.K. Rowling"

// Cas invalides (devrait logger un message mais créer quand même le livre)
const invalid1 = new Book('Fake Book', 'String Author');

Toutes les leçons de Programmation Orientée Objet