اگر کمی تجربهی عملی در جاوااسکریپت داشته باشید، احتمالاً تا الان بارها از کلاسها استفاده کردهاید، حتی اگر خودتان شخصاً کلاسی نساخته باشید. برای مثال، کد زیر احتمالاً برایتان آشناست:
const bigDay = new Date(2019, 6, 19);
console.log(bigDay.toLocaleDateString());
if (bigDay.getTime() < Date.now()) {
console.log("Once upon a time...");
}
در خط اول، ما یک نمونه (Instance) از کلاس Date ایجاد کردیم و نام آن را bigDay گذاشتیم. در خط دوم، متد ()toLocaleDateString را روی این Instance صدا زدیم که یک رشته (String) را برمیگرداند. سپس، دو عدد را با هم مقایسه کردیم: یکی عددی که از متد ()getTime برگشت داده شده، و دیگری عددی که مستقیماً از خودِ کلاس Date و به صورت ()Date.now فراخوانی شده است.
کلاس Date یکی از کلاسهای داخلی (Built-in class) جاوااسکریپت است. از این مثال میتوانیم به یک دید کلی دربارهی کارایی کلاسها برسیم:
کلاسها از طریق عملگر new اشیاء (Objects) را خلق میکنند.
هر Object دارای یکسری ویژگیها—شامل دادهها (Data) یا متدها (Methods)—است که توسط آن کلاس به شیء اضافه شدهاند.
خودِ کلاس نیز یکسری ویژگیها (داده یا متد) را درون خودش ذخیره میکند که معمولاً برای تعامل با اینستنسها (Instances) استفاده میشوند.
این موارد دقیقاً با سه ویژگی کلیدی کلاسها مطابقت دارند:
۱. Constructor (سازنده) ۲. Instance methods (متدهای نمونه) و Instance fields (فیلدهای نمونه) ۳. Static methods (متدهای استاتیک) و Static fields (فیلدهای استاتیک)
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://developer.mozilla.org/en-US/docs/Web/JavaScript