الكلمة المفتاحية new
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 5 من 56.
تُستخدم الكلمة الأساسية new في JavaScript لإنشاء مثيلات من دوال البناء، والتي تعمل كقوالب لإنشاء الكائنات.
أنشئ دالة منشئة (constructor function) لـ Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}استخدم الكلمة المفتاحية new لإنشاء مثيل:
const john = new Person("John", 30);بعد تنفيذ الكود أعلاه، john هو كائن يحتوي على خصائص وطريقة:
john.nameهو "John"john.ageهو 30john.greet()يعيد "Hello, my name is John"
بدون الكلمة المفتاحية new، سيشير this إلى الكائن العالمي (أو undefined في الوضع الصارم strict mode)، وليس إلى النسخة الجديدة (instance).
التحدي
إنشاء كائن سيارة وطباعة وصفه
لقد تم تزويدك بدالة منشئة تقوم بإنشاء كائنات سيارات. مهمتك هي:
- قم بإنشاء كائن سيارة جديد باستخدام الكلمة المفتاحية
new، ومرر "Honda" كاسم و 2018 كعام - قم باستدعاء التابع
getDescriptionعلى كائن السيارة الخاص بك - اطبع النتيجة في وحدة التحكم (console)
ورقة مرجعية
تُنشئ الكلمة المفتاحية new نسخاً من دوال البناء (constructor functions)، والتي تعمل كقوالب للكائنات.
تعريف دالة بناء (constructor function):
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}إنشاء نسخة باستخدام new:
const john = new Person("John", 30);الوصول إلى الخصائص والأساليب (methods):
john.name // "John"
john.age // 30
john.greet() // "Hello, my name is John"بدون new، تشير this إلى الكائن العالمي (أو undefined في الوضع الصارم strict mode) بدلاً من النسخة الجديدة.
جرّب بنفسك
function Car(name, year) {
this.name = name;
this.year = year;
this.getDescription = function() {
return "This is a " + this.name + " from " + this.year;
};
}
// TODO: قم بإنشاء كائن سيارة جديد باستخدام الكلمة المفتاحية new، ومرر "Honda" كاسم و 2018 كعام
// TODO: استدعِ التابع getDescription على كائن السيارة الخاص بك واطبع النتيجة في وحدة التحكم (console)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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