Object Definitions

در جاوااسکریپت، Object نوعی داده است که می‌تواند ویژگی‌ها (properties) و متدها (methods) داشته باشد.
شیء معمولاً برای مدل کردن داده‌ها و رفتارهای مرتبط استفاده می‌شود.

1️⃣ تعریف شیء با Object Literal

const person = { name: "Ali", age: 25, greet: function() { console.log("Hello, I'm " + this.name); } }; console.log(person.name); // Ali person.greet(); // Hello, I'm Ali

🔹 ساده‌ترین و رایج‌ترین روش تعریف شیء در جاوااسکریپت

2️⃣ تعریف شیء با Object Constructor

const person = new Object(); person.name = "Sara"; person.age = 30; person.greet = function() { console.log("Hi, I'm " + this.name); }; console.log(person.age); // 30 person.greet(); // Hi, I'm Sara

3️⃣ تعریف شیء با Constructor Function

function Person(name, age) { this.name = name; this.age = age; this.greet = function() { console.log("Hello, I'm " + this.name); }; } const user1 = new Person("Reza", 28); user1.greet(); // Hello, I'm Reza

🔹 این روش مفید است وقتی چندین شیء مشابه بخواهیم بسازیم.

4️⃣ تعریف شیء با Class (ES6)

class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log("Hi, I'm " + this.name); } } const user = new Person("Neda", 22); user.greet(); // Hi, I'm Neda

🔹 Class یک روش مدرن برای تعریف شیء و متدهای مرتبط است

5️⃣ نکات مهم

  • متدهای داخل شیء می‌توانند از this برای دسترسی به ویژگی‌های شیء استفاده کنند

  • اشیاء در جاوااسکریپت Dynamic هستند و می‌توان ویژگی‌ها را بعد از تعریف اضافه یا حذف کرد

const car = { brand: "BMW" }; car.model = "X5"; // اضافه کردن ویژگی delete car.brand; // حذف ویژگی

📌 جمع‌بندی

روش تعریفتوضیح
Object Literalساده و رایج
Object Constructorایجاد با new Object()
Constructor Functionساخت چندین شیء مشابه
Class (ES6)مدرن و سازمان‌یافته