class در جاوا اسکریپت
کلاسها در جاوااسکریپت: مفاهیم پایه
کلاسها در جاوااسکریپت یکی از ویژگیهای مهم برنامهنویسی شیءگرا هستند که از نسخه ES6 به این زبان اضافه شدند. کلاسها در واقع قالبهایی برای ساخت اشیاء با ویژگیها و متدهای از پیش تعریف شده هستند.
کلاسها syntactic sugar برای توابع سازنده و prototypeها در جاوااسکریپت هستند، اما خوانایی و ساختار بهتری ارائه میدهند.
ساختار پایه یک کلاس
یک کلاس ساده در جاوااسکریپت به این شکل تعریف میشود:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `سلام، من ${this.name} هستم`;
}
}
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `سلام، من ${this.name} هستم`;
}
}
عنصر | توضیح |
---|---|
constructor | متد ویژه برای مقداردهی اولیه هنگام ایجاد نمونه جدید |
متدها | توابعی که به نمونههای کلاس اضافه میشوند |
this | اشارهگر به نمونه جاری از کلاس |
مفاهیم پیشرفتهتر
کلاسها در جاوااسکریپت ویژگیهای پیشرفتهتری نیز دارند:
- ارثبری: با استفاده از کلمه کلیدی extends
- متدهای استاتیک: متدهایی که به کلاس تعلق دارند نه نمونههای آن
- خصوصیسازی: با استفاده از پیشوند # (در استانداردهای جدید)
- Getter/Setter: برای کنترل دسترسی به خصوصیات
برای مثال ارثبری به این شکل عمل میکند:
class Student extends Person {
constructor(name, age, grade) {
super(name, age);
this.grade = grade;
}
}
constructor(name, age, grade) {
super(name, age);
this.grade = grade;
}
}
برای یادگیری عمیقتر میتوانید class در جاوا اسکریپت که آموزش جامعتری ارائه کرده است.
مزایای استفاده از کلاسها
- خوانایی و سازماندهی بهتر کد
- پیادهسازی سادهتر مفاهیم شیءگرایی
- استفاده از ارثبری برای کاهش تکرار کد
- ساختار استاندارد برای کار تیمی
در نهایت، کلاسها ابزاری قدرتمند در جاوااسکریپت هستند که با وجود اینکه در پشت صحنه از پروتوتایپها استفاده میکنند، اما تجربه توسعهدهنده را بسیار بهبود بخشیدهاند.