التحقق من صحة مؤلف الكتاب
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 52 من 56.
التحدي
قم بتحسين منشئ (constructor) الفئة Book عن طريق إضافة التحقق من الصحة. حاليًا، تقبل الفئة Book أي قيمة للمعامل author، ولكن يجب أن تقبل فقط مثيلاً (instance) من الفئة Author.
مهمتك:
- في منشئ Book، أضف فحص if-else
- إذا كان المؤلف صالحًا (مثيلاً من الفئة Author) باستخدام
author instanceof Author، فقم بتعيينthis.#author = author - خلاف ذلك (المؤلف غير صالح): قم بتسجيل
"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');جميع دروس Object Oriented Programming
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circle