قبل از ES6 برای داشتن یک چیزی مثل کلاس که بشه شامل متد و پراپرتی باشه و بشه ازش نمونه ساخت از Constructor Functions مثل زیر استفاده میکردیم:
function Person(firstname, age) { this.firstName = firstname; this.age = age; } const jack = new Person("Jack", 35); const mark = new Person("Mark", 45); alert(jack.age); // 35 alert(mark.age); // 45
همونطور که میبینیم اینجا چیزی به اسم کلاس وجود نداره و یک تابع هست که توسط کلمه کلیدی new داره پیادهسازی میشه.
با معرفی شدن ES6 ساخت کلاس توی جاوا اسکریپت معنادار تر شد:
class Person { constructor(firstname, age) { this.firstName = firstname; this.age = age; } static self() { return this; } toString() { return "[object Person]"; } getInfo() { return `${this.firstname} is ${this.age} years old`; } }
منبع:
