Menu
Coddy logo textTech

אימות מחבר הספר

חלק מהיחידה תכנות מונחה עצמים במסלול ה-JavaScript של Coddy. שיעור 52 מתוך 56.

challenge icon

אתגר

שפרו את הבנאי של המחלקה Book על ידי הוספת אימות. כרגע, Book מקבלת כל ערך עבור הפרמטר author, אבל היא אמורה לקבל רק מופע של Author.

המשימה שלכם:

  1. הוסיפו בדיקת if-else לבנאי של Book
  2. אם המחבר תקין (מופע של המחלקה Author) באמצעות author instanceof Author, הגדירו this.#author = author
  3. אחרת (המחבר אינו תקין): הציגו ביומן בדיוק את “Invalid author: must be Author instance”. הגדירו this.#author = null

כך, הספר עדיין אמור להיווצר גם כאשר המחבר אינו תקין.

נסו בעצמכם

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

// בדיקות
const rowling = new Author('J.K. Rowling');

// מקרה תקין (אמור לעבוד ללא הודעות)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // אמור להציג: "Author: J.K. Rowling"

// מקרים לא תקינים (אמורים לרשום הודעה ביומן, אך עדיין ליצור ספר)
const invalid1 = new Book('Fake Book', 'String Author');

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר JavaScript אונליין