آموزش جامع متدها در جاوااسکریپت
🎯 اهداف یادگیری
- درک مفهوم متد در جاوااسکریپت
- یادگیری نحوه تعریف و فراخوانی متدها
- آشنایی با متدهای پیشساخته جاوااسکریپت
- کاربرد متدها در اشیا و آرایهها
📌 متد چیست؟
متدها توابعی هستند که به عنوان خاصیت یک شیء تعریف میشوند و عملیات خاصی را انجام میدهند:
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 و 1console.log(Math.floor(3.7)); // 3console.log(Math.max(10, 20, 5)); // 20
📌 تفاوت تابع و متد
تابع | متد |
---|---|
به صورت مستقل تعریف میشود | به عنوان خاصیت یک شیء تعریف میشود |
مستقیم فراخوانی میشود | از طریق شیء فراخوانی میشود |
به شیء خاصی وابسته نیست | میتواند به شیء خود با this دسترسی داشته باشد |
📌 تمرین عملی
شیء زیر را با متدهای مورد نیاز کامل کنید:
javascript
const bankAccount = { owner: "علی محمدی", balance: 1000, // متد واریز // متد برداشت // متد نمایش موجودی};
راهنمای تمرین:
- متد deposit برای واریز مبلغ به حساب
- متد withdraw برای برداشت مبلغ از حساب (با بررسی موجودی کافی)
- متد showBalance برای نمایش موجودی حساب با فرمت مناسب
- استفاده از this برای دسترسی به خاصیتهای شیء
📌 قدم بعدی
در درس بعدی با توابع arrow و تفاوتهای آن در جاوااسکریپت آشنا خواهیم شد!