فهم الكلمة المفتاحية this
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 3 من 56.
تشير الكلمة الأساسية this في JavaScript إلى الكائن الذي ينفذ الكود حالياً. وهي تتيح لك الوصول إلى خصائص وأساليب الكائن الحالي.
لنبدأ بكائن أساسي:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};في هذا المثال، عندما نستدعي الأسلوب greet:
person.greet();سيكون الناتج:
Hello, my name is Johnهنا، يشير this.name داخل الأسلوب greet إلى الخاصية name للكائن person.
التحدي
أضف تابعًا يسمى getStatus إلى الكائن player يعيد سلسلة نصية تحتوي على اسم اللاعب وصحته باستخدام الكلمة المفتاحية this.
تنسيق المخرجات المتوقع:"Knight has 70 health"
ورقة مرجعية
تشير الكلمة الأساسية this إلى الكائن الذي يقوم حالياً بتنفيذ الكود، مما يسمح لك بالوصول إلى خصائصه وطرق عمله (methods).
مثال على استخدام this في طريقة (method) كائن:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
person.greet(); // المخرج: Hello, my name is Johnداخل الطريقة، تشير this.name إلى الخاصية name الخاصة بالكائن person.
جرّب بنفسك
const player = {
name: "Knight",
health: 100,
takeDamage: function(damage) {
this.health -= damage;
},
// TODO: أضف طريقة getStatus هنا التي تعيد سلسلة نصية تحتوي على اسم اللاعب وصحته
};
// اختبار
player.takeDamage(30);
console.log(player.getStatus()); // يجب أن تكون النتيجة: "Knight has 70 health"يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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