اگه با شی‌گرایی آشنایی داشته باشید، می‌دونیم که برای نمونه ساختن از یک کلاس، باید از کلمه کلیدی new استفاده کنیم. این کار به ما یک آبجکت از کلاس مورد نظر ما برمی‌گردونه. توی جاوااسکریپت ES5 چیزی به اسم کلاس وجود نداره که بشه از اون نمونه گرفت. اما به هر حال این کار قابل اجرا هست. کلمه‌ی کلیدی new پشت یک تابع قرار می‌گیره و ما به جاوااسکریپت می‌گیم که این تابع رو اجرا کن و یک آبجکت به ما برگردون:

function Employee(name, position, yearHired) {
  this.name = name;
  this.position = position;
  this.yearHired = yearHired;
};

const emp = new Employee("Mario", "Software Developer", 2017);

console.log(emp); // Object { name: "Mario", position: "Software Developer", yearHired: 2017 }

به توابعی که با کلمه کلیدی new فراخونی میشن، میگن Constructor functions.

 

منبع: