التحقق من صحة مؤلف الكتاب
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 52 من 56.
التحدي
قم بتحسين دالة البناء (constructor) في الفئة Book عن طريق إضافة التحقق من الصحة (validation). حاليًا، تكتفي Book بقبول أي قيمة للمعامل author، ولكن يجب ألا تقبل إلا Author instance.
مهمتك:
- في Book constructor، أضف فحص if-else
- إذا كان author صالحًا (instance من Author class) باستخدام
author instanceof Author، قم بضبطthis.#author = author - بخلاف ذلك (إذا كان author غير صالح): قم بتسجيل النص
“Invalid author: must be Author instance”بالضبط. قم بضبطthis.#author = null
بهذه الطريقة، لا يزال من المفترض إنشاء book حتى لو كان author غير صالح.
جرّب بنفسك
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); // Should output: "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إعادة التعريف ودالة المساحةعداد الأشكال Static