فصل ۸: اشیاء (Objects) در جاوااسکریپت

مقدمه
تا اینجای کار با آرایهها کار کردی که برای لیست کردن چند مقدار مناسب بودند. اما اگه بخواهی اطلاعات بیشتری برای هر مورد ذخیره کنی (مثلاً یک کاربر با چند ویژگی مثل نام، سن و …)، آرایه کافی نیست. اینجاست که شیء (Object) وارد میشه!
شیء یکی از مهمترین مفاهیم جاوااسکریپت هست.
تعریف ساده شیء (Object)
در جاوااسکریپت، شیء مجموعهای از «ویژگیها» (properties) هست که هر ویژگی از یک «کلید» (name) و یک مقدار (value) تشکیل شده.
به زبان خیلی ساده:
شیء مثل یک بسته است که داخلش برچسب (کلید) چسبوندی و یک چیز (مقدار) براش گذاشتی.
مثال ساده
const person = {
name: "Ali",
age: 25,
city: "Tehran"
};
در اینجا:
- person یک شیء است.
- این شیء سه ویژگی دارد: name, age, city.
- هر ویژگی (property) یک نام (کلید) و یک مقدار دارد.
چطور به ویژگیهای یک شیء دسترسی پیدا کنیم؟
دو راه داری:
۱. نقطه (Dot Notation)
console.log(person.name); // خروجی: Ali
console.log(person.city); // خروجی: Tehran
۲. براکت (Bracket Notation)
console.log(person["age"]); // خروجی: 25
اگر کلید موردنظر فاصله داشته باشه (مثلا “first name”) فقط باید از براکت استفاده کنی:
const user = {
"first name": "Sara"
};
console.log(user["first name"]); // خروجی: Sara
اضافه، ویرایش و حذف ویژگیها
– اضافه کردن ویژگی جدید به شیء
person.job = "developer";
person["isStudent"] = false;
console.log(person);
– ویرایش مقدار ویژگی
person.age = 26;
– حذف یک ویژگی
delete person.city;
console.log(person);
پیمایش ویژگیهای شیء (حلقة for…in)
برای اینکه همه کلیدها و مقادیر یک شیء رو بخونی، میتونی از حلقه for…in استفاده کنی:
for(let key in person) {
console.log(key, ":", person[key]);
}
خروجی:
name : Ali
age : 26
job : developer
isStudent : false
متد (Function) در شیء
شیء فقط برای داده نیست! میتونی در شیء یک تابع هم داشته باشی (که اسمش میشه «متد» یا Method):
const car = {
brand: "Peugeot",
start: function() {
console.log("ماشین روشن شد!");
}
};
car.start(); // خروجی: ماشین روشن شد!
یا با شیوه جدیدتر (ECMAScript 6):
const user = {
name: "Sara",
sayHello() {
console.log("سلام! من " + this.name + " هستم!");
}
};
user.sayHello(); // خروجی: سلام! من Sara هستم!
this به شیء خودش اشاره داره.
تمرین ساده
۱. یک شیء به اسم book بساز که شامل این اطلاعات باشه: نام کتاب، نویسنده، تعداد صفحات.
۲. نام کتاب را چاپ کن.
۳. تعداد صفحات را به ۲۰۰ تغییر بده.
۴. ویژگی جدید سال انتشار به آن اضافه کن.
۵. همه ویژگیها را با حلقه for…in چاپ کن.
جمعبندی فصل ۸
- شیء، ساختاری برای ذخیره چندین ویژگی به صورت مرتب و واضح است.
- میشه ویژگی جدید بهش اضافه کرد یا ویرایش و حذف کرد.
- دسترسی به ویژگیها با نقطه یا براکت.
- پیمایش ویژگیها با for…in
- میشه متد (function) هم به شیء افزود.