Menu
Coddy logo textTech

Walidacja autora książki

Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 52 z 56.

challenge icon

Wyzwanie

Ulepsz konstruktor klasy Book, dodając walidację. Obecnie Book akceptuje dowolną wartość parametru author, ale powinien akceptować tylko instancję klasy Author.

Twoje zadanie:

  1. W konstruktorze Book dodaj instrukcję sprawdzającą if-else
  2. Jeśli autor jest prawidłowy (jest instancją klasy Author), używając author instanceof Author, ustaw this.#author = author
  3. W przeciwnym razie (autor jest nieprawidłowy): Zaloguj dokładnie “Invalid author: must be Author instance”. Ustaw this.#author = null

Dzięki temu książka powinna zostać utworzona nawet wtedy, gdy autor jest nieprawidłowy.

Spróbuj swoich sił

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

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

// Poprawny przypadek (powinien działać bez komunikatów)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // Powinno wyświetlić: "Author: J.K. Rowling"

// Niepoprawne przypadki (powinny wyświetlić komunikat, ale mimo to utworzyć książkę)
const invalid1 = new Book('Fake Book', 'String Author');

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator JavaScript online