برای ساختن یک آبجکت توی جاوا اسکریپت سه راه وجود داره:

Object Literal

که همون روش رایج هست که به صورت زیر هست:

const person = {
    name: "Mark",
    sleep() {
        return "ZzZzZ";
    }
}

 

توابع Constructor

توی این روش با کلمه کلیدی new می‌تونیم از یک تابع معمولی یک آبجکت داشته باشیم:

function Person(name) {
  this.name = name;
  
  this.sleep = function() {
    return 'ZzZzZz';
  }
}

const mark = new Person("Mark");

alert(mark.sleep()); // ZzZzZz

 

متد Object.create

با استفاده از این متد می‌تونیم از یک آبجکتی که از قبل وجود داره، یک آبجکت جدید بسازیم:

const person = {
  sleep() {
    return "ZzZzZz";
  }
}

const mark = Object.create(person, {
  name: {
    value: 'Mark',
  },
});

alert(mark.sleep()); // ZzZzZz

در واقع آبجکت person به عنوان پروتوتایپ (والد) آبجکت جدید در نظر گرفته میشه.

 

منبع: