this تشير غالبًا إلى الكائن الذي استُدعيت منه الدالة:
const user = {
name: 'Sara',
greet() {
return `Hi, I am ${this.name}`;
}
};
user.greet(); // "Hi, I am Sara"
القيمة تحددها طريقة الاستدعاء
const greet = user.greet;
greet(); // this is no longer user
الدوال السهمية مختلفة
الدالة السهمية () => {} ليس لها this خاص بها، بل تأخذه من المكان المحيط. لذلك هي مفيدة داخل الـ callbacks:
class Timer {
start() {
setInterval(() => this.tick(), 1000); // this = the Timer
}
}
this لا تُستخدم لتعريف متغيرات، ولا تشير للمتغيرات المحلية.