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


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

  • درک مفهوم شیء در جاوااسکریپت
  • یادگیری روش‌های ایجاد و کار با اشیاء
  • آشنایی با متدها و ویژگی‌های اشیاء
  • کار با شیء ساخته‌شده (Object Constructor)

📌 شیء (Object) چیست؟

شیء در جاوااسکریپت مجموعه‌ای از ویژگی‌ها (Properties) و متدها (Methods) است که به صورت جفت‌های key-value ذخیره می‌شوند:

javascript
// ایجاد یک شیء ساده
const person = {
firstName: "علی", // ویژگی
lastName: "محمدی",
age: 30,
fullName: function() { // متد
return this.firstName + " " + this.lastName;
}
};
// دسترسی به ویژگی‌ها و متدها
console.log(person.firstName); // "علی"
console.log(person.fullName()); // "علی محمدی"

ویژگی‌های اشیاء:

  • ویژگی‌ها (Properties): مقادیری که در شیء ذخیره می‌شوند
  • متدها (Methods): توابعی که به شیء تعلق دارند
  • this: به شیء جاری اشاره می‌کند

📌 روش‌های ایجاد شیء

javascript
// 1. شیء لیتـرال (مستقیم)
const car = {
brand: "تویوتا",
model: "کمری",
year: 2020
};
// 2. استفاده از تابع سازنده (Constructor)
function Car(brand, model, year) {
this.brand = brand;
this.model = model;
this.year = year;
}
const myCar = new Car("تویوتا", "کمری", 2020);
// 3. استفاده از کلاس‌ها (ES6)
class Car {
constructor(brand, model, year) {
this.brand = brand;
this.model = model;
this.year = year;
}
}
const myCar = new Car("تویوتا", "کمری", 2020);

مقایسه روش‌ها:

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

📌 کار با ویژگی‌ها و متدهای شیء

روش‌های مختلفی برای دسترسی و تغییر ویژگی‌های شیء وجود دارد:

javascript
const person = {
name: "علی",
age: 30
};
// 1. دسترسی با نقطه
console.log(person.name); // "علی"
// 2. دسترسی با براکت
console.log(person['age']); // 30
// 3. اضافه کردن ویژگی جدید
person.job = "برنامه‌نویس";
// 4. حذف ویژگی
delete person.age;
// 5. بررسی وجود ویژگی
console.log('name' in person); // true

متدهای مفید شیء:

  • Object.keys(): دریافت کلیدهای شیء به صورت آرایه
  • Object.values(): دریافت مقادیر شیء به صورت آرایه
  • Object.entries(): دریافت جفت‌های کلید-مقدار به صورت آرایه

📌 تمرین عملی

یک شیء به نام "کتاب" با ویژگی‌های زیر ایجاد کنید:

javascript
const book = {
// عنوان کتاب
// نویسنده
// سال انتشار
// متدی برای نمایش اطلاعات کتاب
};

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

  1. ویژگی‌های title، author و year را اضافه کنید
  2. متدی به نام getInfo ایجاد کنید که اطلاعات کتاب را نمایش دهد
  3. از this برای دسترسی به ویژگی‌های شیء استفاده کنید
  4. یک نمونه از شیء ایجاد و متد آن را فراخوانی کنید

📌 قدم بعدی

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