متدهای Object
متدهای شیء (Object Methods) در جاوااسکریپت
در جاوااسکریپت، اشیا (Objects) پایهایترین ساختار دادهها محسوب میشوند که شامل ویژگیها (Properties) و متدها (Methods) هستند. متدها در واقع توابعی هستند که به عنوان ویژگیهای یک شیء تعریف میشوند و رفتارهای خاصی را اجرا میکنند.
انواع متدهای شیء
متدهای شیء در جاوااسکریپت به دو دسته اصلی تقسیم میشوند:
- متدهای داخلی (Built-in Methods): متدهایی که توسط خود زبان تعریف شدهاند
- متدهای سفارشی (Custom Methods): متدهایی که توسط توسعهدهنده ایجاد میشوند
نوع متد | مثال |
---|---|
متدهای داخلی | Object.keys() , Object.values() |
متدهای سفارشی | user.getFullName() , product.calculateDiscount() |
متدهای پرکاربرد Object
برخی از مهمترین متدهای شیء Object در جاوااسکریپت عبارتند از:
- Object.assign(): برای کپی کردن مقادیر از یک یا چند شیء به شیء هدف
- Object.create(): ایجاد یک شیء جدید با پروتوتایپ مشخص
- Object.entries(): تبدیل شیء به آرایهای از جفتهای [key, value]
- Object.freeze(): جلوگیری از تغییرات در شیء
- Object.seal(): مهر و موم کردن شیء (جلوگیری از اضافه/حذف ویژگیها)
برای یادگیری عمیقتر متدهای شیء در جاوااسکریپت میتوانید اینجا را دنبال نمایید. این منبع جامع تمام مفاهیم مربوط به اشیا را با مثالهای عملی آموزش داده است.
مثال عملی از متدهای شیء
در کد زیر نمونهای از تعریف و استفاده از متدهای شیء را مشاهده میکنید:
const person = {
firstName: "علی",
lastName: "محمدی",
getFullName: function() {
return this.firstName + " " + this.lastName;
}
};
console.log(person.getFullName()); // خروجی: علی محمدی
در این مثال، getFullName یک متد سفارشی است که نام کامل شخص را برمیگرداند. کلمه کلیدی this به شیء جاری (person) اشاره دارد.
تفاوت متد و تابع
اگرچه متدها در واقع توابع هستند، اما چند تفاوت کلیدی دارند:
متد | تابع |
---|---|
به یک شیء تعلق دارد | مستقل است |
با نقطه فراخوانی میشود | مستقیم فراخوانی میشود |
به ویژگیهای شیء دسترسی دارد (با this) | به شیء خاصی وابسته نیست |
برای مطالعه بیشتر درباره تفاوتهای دقیقتر میتوانید به این آموزش جامع مراجعه کنید.