برای ساختن یک آبجکت توی جاوا اسکریپت سه راه وجود داره:
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 به عنوان پروتوتایپ (والد) آبجکت جدید در نظر گرفته میشه.
منبع: