11- آموزش جاوااسکریپت | کار با آبجکتها (Object Literals)
در این آموزش با مفهوم پایه آبجکتها (Object Literals) در جاوااسکریپت آشنا میشویم. یاد میگیریم چگونه دادههای مرتبط را به صورت جفتهای کلید-مقدار گروهبندی کنیم، به خواص آبجکتها دسترسی داشته باشیم و از متدها و اشیاء تو در تو (Nested) برای مدیریت دادههای پیچیدهتر استفاده کنیم.
آبجکتها (Objects) یکی از ساختارهای کلیدی در جاوااسکریپت هستند که به ما اجازه میدهند دادههای مرتبط (مانند مشخصات یک فرد) را در یک ساختار واحد مدیریت کنیم. در این بخش، بر روی "Object Literals" تمرکز میکنیم که سادهترین و رایجترین روش برای تعریف آبجکتهاست.
تعریف آبجکت
برای تعریف یک آبجکت، از آکولاد {} استفاده میکنیم و دادهها را به صورت جفتهای "کلید-مقدار" (Key-Value Pairs) درون آن قرار میدهیم:
const person = {
firstName: 'Steve',
lastName: 'Smith',
age: 30,
email: 'steve@aol.com',
hobbies: ['music', 'sports']
};
دسترسی به مقادیر
برای دسترسی به مقادیر درون آبجکت، دو روش اصلی وجود دارد:
-
Dot Notation (نقطه): روش استاندارد و خواناتر.
console.log(person.firstName); // خروجی: Steve -
Bracket Notation (براکت): استفاده از براکتها (مخصوصاً زمانی که نام کلید داینامیک باشد).
console.log(person['firstName']); // خروجی: Steve
افزودن ساختارهای پیچیده
آبجکتها فقط محدود به رشته و عدد نیستند. شما میتوانید موارد زیر را درون آنها جای دهید:
- آرایهها: برای ذخیره لیستها (مانند مثال
hobbiesدر بالا). - آبجکتهای تو در تو (Embedded Objects): تعریف یک آبجکت درون آبجکت دیگر.
- توابع (Methods): اضافه کردن رفتار به آبجکت.
مثال آبجکت تو در تو و متد:
const user = {
firstName: 'Steve',
age: 30,
address: {
city: 'Miami',
state: 'Florida'
},
getBirthYear: function() {
return 2025 - this.age; // استفاده از this برای ارجاع به خود آبجکت
}
};
console.log(user.address.city); // Miami
console.log(user.getBirthYear()); // 1995
نکته: کلمه کلیدی this در اینجا به آبجکت جاری اشاره میکند و به ما اجازه میدهد به سایر خواص همان آبجکت دسترسی داشته باشیم.
آرایهای از آبجکتها
در دنیای واقعی، معمولاً با مجموعهای از آبجکتها سر و کار داریم. برای این کار، آبجکتها را درون یک آرایه قرار میدهیم:
const people = [
{ name: 'John', age: 30 },
{ name: 'Mike', age: 25 },
{ name: 'Nancy', age: 40 }
];
// پیمایش لیست و نمایش نامها
people.forEach(person => {
console.log(person.name);
});
جمعبندی
در این بخش آموختیم:
- ایجاد آبجکت با استفاده از Object Literal syntax.
- نحوه دسترسی به خواص آبجکت با Dot و Bracket notation.
- نحوه تعریف و فراخوانی متدها درون آبجکت.
- استفاده از
thisبرای دسترسی به خواص داخلی آبجکت. - کاربرد آرایهها برای نگهداری لیستی از آبجکتها.
در آموزش بعدی، به سراغ کار با تاریخ و زمان (Dates and Times) در جاوااسکریپت میرویم.