آموزش جامع اشیاء در جاوااسکریپت
🎯 اهداف یادگیری
- درک مفهوم شیء در جاوااسکریپت
- یادگیری روشهای ایجاد و کار با اشیاء
- آشنایی با متدها و ویژگیهای اشیاء
- کار با شیء ساختهشده (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 = { // عنوان کتاب // نویسنده // سال انتشار // متدی برای نمایش اطلاعات کتاب};
راهنمای تمرین:
- ویژگیهای title، author و year را اضافه کنید
- متدی به نام getInfo ایجاد کنید که اطلاعات کتاب را نمایش دهد
- از this برای دسترسی به ویژگیهای شیء استفاده کنید
- یک نمونه از شیء ایجاد و متد آن را فراخوانی کنید
📌 قدم بعدی
در درس بعدی با JSON در جاوااسکریپت آشنا خواهیم شد!