Menu
Coddy logo textTech

Validación del Autor del Libro

Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 52 de 56.

challenge icon

Desafío

Mejora el constructor de la clase Book agregando validación. Actualmente, el Book acepta cualquier valor para el parámetro author, pero solo debería aceptar una instancia de Author.

Tu tarea:

  1. En el constructor de Book, agrega una comprobación if-else
  2. Si el autor es válido (una instancia de la clase Author) usando author instanceof Author, establece this.#author = author
  3. De lo contrario (si el autor no es válido): Registra en la consola exactamente “Invalid author: must be Author instance”. Establece this.#author = null

De esta manera, el libro aún debería crearse incluso con un autor no válido.

Pruébalo tú mismo

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

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

// Caso válido (debería funcionar en silencio)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // Should output: "Author: J.K. Rowling"

// Casos inválidos (debería registrar un mensaje pero aún así crear el libro)
const invalid1 = new Book('Fake Book', 'String Author');

Todas las lecciones de Programación Orientada a Objetos