متدهای اشیاء

از موتو کد، دانشنامهٔ برنامه‌نویسی

مثال

var person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};


مشاهدهٔ نتیجه

کلمه کلیدی this

در یک تابع، کلمه کلیدی this به «صاحب» تابع اشاره می‌کند. [۱]

در مثال فوق، کلمه کلیدی this شیء person است که «صاحب» متد fullName است.

به عبارت دیگر، this.firstName به معنای ویژگی firstName این شیء است.

درمورد کلمه کلیدی this می‌توانید مطالب بیشتری را در فصل کلمه کلیدی this در جاوا اسکریپت بخوانید.

متدهای جاوا اسکریپت

متدهای جاوا اسکریپت عملیات‌هایی هستند که روی اشیاء انجام می‌شوند.

یک متد در جاوا اسکریپت یک ویژگی است که شامل یک تابع می‌شود.

ویژگی مقدار
firstName John
lastName Doe
age ۵۰
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}
متدها توابعی هستند که به صورت ویژگی‌هایی از شیء ذخیره شده‌اند.

دسترسی به متدهای شیء

شما می‌توانید به متدهای یک شیء به صورت زیر دسترسی پیدا کنید:

objectName.methodName()

شما به صورت کاملاً ساده fullName() را به عنوان متدی از شیء person و fullName را به عنوان یک ویژگی تعریف خواهید کرد.

ویژگی fullName زمانی که فراخوانی می‌شود (همانند یک تابع) بهمراه ( ) اجرا خواهد شد.

این مثال به متد fullName() از شیء person دسترسی پیدا می‌کند:

مثال

name = person.fullName();


مشاهدهٔ نتیجه


اگر شما به ویژگی fullName بدون استفاده از ( ) دسترسی پیدا کنید، تعریف تابع برمی گردد:

مثال

name = person.fullName;


مشاهدهٔ نتیجه


استفاده از متدهای تعبیه شده

این مثال از متد toUpperCase() شیء string برای تبدیل حروف یک متن رشته‌ای به حروف بزرگ استفاده می‌کند:

var message = "Hello world!";
var x = message.toUpperCase();

مقدار متغیر x، بعد از اجرای کد بالا برابر خواهد بود با:

HELLO WORLD!

اضافه کردن یک متد به یک شیء

اضافه کردن یک متد جدید به یک شیء بسیار آسان است:

مثال

person.name = function () {
return this.firstName + " " + this.lastName;
};


مشاهدهٔ نتیجه


منابع آموزشی