درود! توی این قسمت کوتاه می‌خوایم با یک ویژگی دیگه از آبجکت‌های جاوااسکریپت آشنا بشیم: متد یا Method

توی این قسمت یاد می‌گیریم که:

 

متد (Method) چیه؟ 🤔

توی قسمت قبل با پراپرتی‌ها آشنا شدیم و گفتیم که مقدار پراپرتی‌ها می‌تونه از هر نوعی باشه.

به پراپرتی‌ای که مقدار اون یک تابع باشه می‌گیم متد.

متد توی آبجکت به صورت زیر تعریف میشه:

const user = {
  sayHello: function () {
    alert("Hello");
  },
}

همونطور که می‌بینیم یک پراپرتی داریم که مقدار اون یک تابع هست. می‌تونیم به شکل خلاصه‌تر متدها رو به صورت زیر بنویسیم:

const user = {
  sayHello() {
    // do ...
  },
}

 

چطوری به متدها دسترسی داشته باشیم؟ 🤔

توی قسمت قبل گفتیم که برای دسترسی به پراپرتی‌ها از فرمت زیر استفاده می‌کنیم:

object.propertyName

متدها هم به همین صورت قابل دسترسی هستن. اما به این دلیل که متدها در حقیقت تابع هستن، توی قسمت توابع یاد گرفتیم که برای فراخونی اونها باید از پرانتزهای باز و بسته استفاده کنیم:

object.methodName();

برای مثال:

const user = {
  sayHello() {
    alert("Hello");
  },
}

>> user.sayHello();

درست مثل توابع، متدها می‌تونن ورودی و خروجی داشته باشن:

const user = {
  welcome(<<name>>) {
    return "Welcome " + name;
  },
}

alert(user.welcome("Mario"));

 

کلمه‌کلیدی this توی متدها