JavaScript Classes
کلاس در جاوا اسکریپت
کلاس جاوا اسکریپت در نسخه ECMAScript 2015 یا همان ES6 معرفی شد. کلاسهای جاوا اسکریپت در حقیقت یک قالب (template) برای اشیاء جاوا اسکریپت هستند.
برای ایجاد یک کلاس، از کلید واژه class
استفاده کنید.
همواره یک تابع شیء به اسم constructor()
را اضافه کنید.
class ClassName {
constructor() { ... }
}
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
در مثال بالا یک کلاس به اسم Car ایجاد کردهایم. این کلاس دارای دو خصوصیت اولیه (initial properties) است: "اسم" و "سال".
استفاده از کلاس
زمانی که یک کلاس دارید، میتوانید از آن برای ایجاد اشیاء استفاده کنید:
let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);
در کد فوق از کلاس Car برای ایجاد 2 شیء از Car استفاده کردهایم.
تابع شیء constructor
این تابع شیئ یک تابع شیء ویژه است:
- حتماً باید دارای اسم constructor باشد.
- به صورت خودکار هنگام ایجاد یک شیء فراخوانده میشود.
- جهت آماده سازی اولیه initialize خصوصیات شیء به کار میرود.
اگر تابع شیء constructor را تعریف نکنید، جاوا اسکریپت یک تابع شیء constructor خالی را اضافه میکند.
توابع شیء در کلاس
بعد از ایجاد کلاس با استفاده از کلید واژه class و اضافه کردن تابع شیء constructor میتوانید هر تعداد تابع شیء که مورد نیازتان باشد اضافه کنید.
class ClassName {
constructor() { ... }
method_1() { ... }
method_2() { ... }
method_3() { ... }
}
برای مثال در کد زیر یک تابع شیء به اسم age ایجاد کردهایم که سن ماشین (Car) را برمیگرداند.
توابع شیء کلاس میتوانند شامل پارامتر هم باشند: