نماذج كائن جافا سكريبت
ترث كل كائنات JavaScript الخصائص والأساليب من النموذج الأولي.
في الفصل السابق تعلمنا كيفية استخدام مُنشئ الكائن :
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");
علمنا أيضًا أنه لا يمكنك إضافة خاصية جديدة إلى مُنشئ كائن موجود:
مثال
Person.nationality = "English";
لإضافة خاصية جديدة إلى المُنشئ ، يجب عليك إضافتها إلى دالة المُنشئ:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English";
}
وراثة النموذج الأولي
ترث كل كائنات JavaScript الخصائص والأساليب من نموذج أولي:
Date
الأشياء ترث منDate.prototype
Array
الأشياء ترث منArray.prototype
Person
الأشياء ترث منPerson.prototype
يوجد Object.prototype
أعلى سلسلة وراثة النموذج الأولي:
Date
الأشياء Array
والأشياء Person
والأشياء ترث من Object.prototype
.
إضافة الخصائص والطرق إلى الكائنات
في بعض الأحيان تريد إضافة خصائص (أو طرق) جديدة لجميع الكائنات الموجودة من نوع معين.
في بعض الأحيان تريد إضافة خصائص (أو طرق) جديدة إلى مُنشئ كائن.
استخدام خاصية النموذج الأولي
prototype
تتيح لك خاصية JavaScript إضافة خصائص جديدة إلى مُنشئ الكائنات:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
تتيح لك خاصية JavaScript prototype
أيضًا إضافة طرق جديدة إلى مُنشئ الكائنات:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
return this.firstName + " " + this.lastName;
};
فقط قم بتعديل النماذج الأولية الخاصة بك . لا تقم أبدًا بتعديل النماذج الأولية لكائنات JavaScript القياسية.