آموزش جامع متدها در جاوااسکریپت


🎯 اهداف یادگیری

  • درک مفهوم متد در جاوااسکریپت
  • یادگیری نحوه تعریف و فراخوانی متدها
  • آشنایی با متدهای پیش‌ساخته جاوااسکریپت
  • کاربرد متدها در اشیا و آرایه‌ها

📌 متد چیست؟

متدها توابعی هستند که به عنوان خاصیت یک شیء تعریف می‌شوند و عملیات خاصی را انجام می‌دهند:

javascript
const person = {
name: "علی",
age: 25,
greet: function() {
console.log(`سلام، من ${this.name} هستم`);
}
};
person.greet(); // خروجی: سلام، من علی هستم

انواع متدها:

  • متدهای شیء: توابعی که درون یک شیء تعریف می‌شوند
  • متدهای پیش‌ساخته: توابعی که جاوااسکریپت از قبل تعریف کرده است

📌 تعریف و فراخوانی متدها

javascript
// روش اول: تعریف متد در شیء
const calculator = {
add: function(a, b) {
return a + b;
}
};
// روش دوم: تعریف متد با سینتکس جدید (ES6)
const calculator = {
add(a, b) {
return a + b;
}
};
// فراخوانی متد
console.log(calculator.add(2, 3)); // خروجی: 5

نکات مهم:

  • کلمه کلیدی this: به شیء جاری اشاره می‌کند
  • پارامترها: می‌توانید مقادیر را به متدها ارسال کنید
  • مقدار بازگشتی: متدها می‌توانند مقدار return کنند

📌 متدهای پیش‌ساخته جاوااسکریپت

جاوااسکریپت دارای متدهای زیادی برای کار با رشته‌ها، آرایه‌ها و ... است:

متدهای رشته‌ها:

javascript
const message = "Hello World";
console.log(message.toUpperCase()); // "HELLO WORLD"
console.log(message.substring(0, 5)); // "Hello"
console.log(message.includes("World")); // true

متدهای آرایه:

javascript
const numbers = [1, 2, 3];
// اضافه کردن به انتهای آرایه
numbers.push(4);
// حذف از انتهای آرایه
numbers.pop();
// تبدیل آرایه به رشته
console.log(numbers.join("-")); // "1-2-3"

متدهای ریاضی:

javascript
console.log(Math.random()); // عدد تصادفی بین 0 و 1
console.log(Math.floor(3.7)); // 3
console.log(Math.max(10, 20, 5)); // 20

📌 تفاوت تابع و متد

تابع متد
به صورت مستقل تعریف می‌شود به عنوان خاصیت یک شیء تعریف می‌شود
مستقیم فراخوانی می‌شود از طریق شیء فراخوانی می‌شود
به شیء خاصی وابسته نیست می‌تواند به شیء خود با this دسترسی داشته باشد

📌 تمرین عملی

شیء زیر را با متدهای مورد نیاز کامل کنید:

javascript
const bankAccount = {
owner: "علی محمدی",
balance: 1000,
// متد واریز
// متد برداشت
// متد نمایش موجودی
};

راهنمای تمرین:

  1. متد deposit برای واریز مبلغ به حساب
  2. متد withdraw برای برداشت مبلغ از حساب (با بررسی موجودی کافی)
  3. متد showBalance برای نمایش موجودی حساب با فرمت مناسب
  4. استفاده از this برای دسترسی به خاصیت‌های شیء

📌 قدم بعدی

در درس بعدی با توابع arrow و تفاوت‌های آن در جاوااسکریپت آشنا خواهیم شد!