اشیاء (Objects)

جاوااسکریپت یک زبان شی‌گرا (Object-Oriented) هست.
تقریباً همه‌چیز در جاوااسکریپت یا یک شیء (Object) هست یا می‌تونه مثل شیء رفتار کنه.

✅ تعریف یک شیء

شیء مجموعه‌ای از ویژگی‌ها (Properties) و متدها (Methods) هست.

  • ویژگی‌ها (Properties): داده‌هایی هستند که در شیء ذخیره میشن (مثل name, age).

  • متدها (Methods): توابعی هستند که روی شیء اعمال میشن.

مثال:

let person = { firstName: "علی", lastName: "رضایی", age: 25, fullName: function() { return this.firstName + " " + this.lastName; } }; console.log(person.firstName); // علی console.log(person.age); // 25 console.log(person.fullName()); // علی رضایی

✅ دسترسی به ویژگی‌ها

  1. با dot notation:

console.log(person.firstName);
  1. با bracket notation:

console.log(person["lastName"]);

✅ تغییر مقدار ویژگی‌ها

person.age = 30; person["firstName"] = "محمد"; console.log(person.age); // 30 console.log(person.firstName); // محمد

✅ اضافه کردن ویژگی یا متد جدید

person.job = "برنامه‌نویس"; person.sayHello = function() { return "سلام، من " + this.firstName + " هستم"; }; console.log(person.job); // برنامه‌نویس console.log(person.sayHello()); // سلام، من محمد هستم

✅ حذف ویژگی

delete person.job; console.log(person.job); // undefined

✅ شیء در شیء (Nested Objects)

let student = { name: "زهرا", marks: { math: 18, physics: 19 } }; console.log(student.marks.math); // 18

✅ آرایه‌ای از اشیاء

خیلی استفاده میشه (مثل لیست کاربران یا محصولات):

let users = [ { name: "علی", age: 22 }, { name: "زهرا", age: 24 }, { name: "محمد", age: 26 } ]; console.log(users[1].name); // زهرا

📌 خلاصه:

  • Object = مجموعه ویژگی‌ها + متدها

  • میشه ویژگی‌ها رو اضافه، تغییر یا حذف کرد

  • اشیاء می‌تونن تو در تو باشن

  • خیلی وقت‌ها با آرایه از اشیاء کار می‌کنیم (مثلاً کاربران، محصولات و …)