متدهاي شئ توابعي هستند كه برروي شئ اقدامي انجام ميدهند.
مثال ـ متدfullName براي شئ person
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
در جاوااسكريپت كي وردthis به يك شئ اشاره دارد.اينكه كدام شئ است ، بستگي بفراخواني يا استفاده از فراخواني آن دارد.
كي وردthis بطروق مختلف براساس نوع استفاده به شئ اشاره دارد . مطابق زير:
توجه ـ كي وردthis متغيرنيست، آن يك كي ورد است .مقدار آنرا نميتوان تغيير داد.
مطالب بخش js This Keyword را هم ملاحظه فرمائيد.
متدهاي جاوااسكريپت اقداماتي هستند، كه ميتوان روي شئ انجام داد .يك متد جاوااسكريپت يك ويژگي است كه تعريف تابع را در بردارد .به نمونه در جدول زير توجه نمائيد:
ويژگيProperty - | مقدارValue - |
---|---|
firstName | John |
lastName | Doe |
age | 50 |
eyeColor | blue |
fullName | function(){return this.firstName+" "+this.lastName;} |
متدها توابعي هستند كه مطابق يك ويژگي شئ ذخيره شده اند.
ميتوان بروش كلي زير بيك متد شئ دسترسي پيدا كرد
نوعا دراين مثال بالاfullName( ) بعنوان متد شئ person و fullName بعنوان ويژگي آن ميباشند .در صورتيكهfullName با ( ) فراخوان شود، بعنوان متد وتابع اجراميشود اما اگر بدون( ) باشد ، تعريف تابع رابرگشت ميدهد .
مثال ـ استفاده ازمتدfullName() شئ person
name = person.fullName();
مثال ـ استفاده از ويژگيfuulName شئ person كه تعريف تابع رابرگشت ميدهد .
name = person.fullName;
اصافه كردن متدي جديد به شئ ساده است .نمونه زير:
مثال ـ اضافه كردن متد به شئ
person.name = function () { return this.firstName + " " + this.lastName; };
در مثال زير ازمتدtoUpperCase( ) كه مربوط به رشته هاست، براي تبديل متني به حروف بزرگ استفاده شده است.
let message = "Hello world!"; let x = message.toUpeerCase();
مقدارx بعداز اجراي كد فوقHELLO WORD ! خواهد بود .
مثال ـ تبد يل نام كامل به حروف بزرگ
person.name = function () { return (this.firstName + " " + this.lastName).toUpperCase(); };