شبكة تعلم مع ناو

ما الغرض من الكلمة this في JavaScript؟

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 لا تُستخدم لتعريف متغيرات، ولا تشير للمتغيرات المحلية.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.