تحدي المراجعة
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy. الدرس 46 من 56.
التحدي
لقد تم تزويدك بفئة UserProfile مع خاصية username المنفذة بالفعل. مهمتك هي إكمال التنفيذ لخاصية email باستخدام الـ getters والـ setters:
- أضف getter لـ
emailيقوم بإرجاع قيمة البريد الإلكتروني الحالية - أضف setter لـ
emailيقوم بما يلي:- يتحقق مما إذا كان البريد الإلكتروني يحتوي على حرف '@'
- إذا كان صالحاً:
- يحدث البريد الإلكتروني إلى القيمة الجديدة
- يسجل (Log) تماماً:
Email updated to [newEmail]
- إذا كان غير صالح:
- يسجل (Log) تماماً:
Invalid email! - لا يقوم بتحديث البريد الإلكتروني
- يسجل (Log) تماماً:
جرّب بنفسك
import { UserProfile } from './user.js';
// كود الاختبار - لا تقم بالتعديل
const user = new UserProfile("alice123", "alice@email.com");
user.email = "bob@email.com"; // صالح - يجب أن يسجل نجاحاً
user.email = "invalid-email"; // غير صالح - يجب أن يسجل خطأً
جميع دروس 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إعادة التعريف ودالة المساحةعداد الأشكال Static9الخصائص والدوال الثابتة (Static)
مستوى الكلاس مقابل مستوى الكائنالخصائص الثابتة (Static Properties)دوال المساعدة الثابتة (Static Utility Methods)تحدي المراجعة12Getters و Setters
الكلمات المفتاحية get و setالخصائص المحسوبةالتحقق من الصحة والآثار الجانبيةتحدي المراجعةتدرّب بنفسك: مترجم JavaScript عبر الإنترنت