JS News 2025 - 2015

۲۰۱۵ – ECMAScript 6 (ES6)

ویژگیتوضیحات
let و constمعرفی متغیرهای با دامنه بلوک
توابع فلش (Arrow Functions)نوشتن توابع کوتاه‌تر و خواناتر
کلاس‌ها (Classes)ساختار جدید برای تعریف کلاس‌ها
ماژول‌ها (Modules)امکان تقسیم‌بندی کدها در فایل‌های جداگانه
Promiseمدیریت عملیات ناهمزمان به شیوه‌ای ساده‌تر
Map و Setساختار داده‌های جدید برای ذخیره‌سازی کلید-مقدار و مجموعه‌ها
for...ofحلقه‌ای برای پیمایش آرایه‌ها و سایر ساختارهای iterable

۲۰۱۶ – ECMAScript 7 (ES7)

ویژگیتوضیحات
** (عملگر توان)امکان محاسبه توان اعداد
Array.prototype.includes()بررسی وجود یک عنصر در آرایه

۲۰۱۷ – ECMAScript 8 (ES8)

ویژگیتوضیحات
async و awaitمدیریت عملیات ناهمزمان با استفاده از توابع async
Object.entries() و Object.values()دریافت آرایه‌ای از جفت‌های کلید-مقدار و مقادیر یک شیء
String.prototype.padStart() و padEnd()پر کردن ابتدای یا انتهای رشته با کاراکترهای مشخص

۲۰۱۸ – ECMAScript 9 (ES9)

ویژگیتوضیحات
for...await...ofپیمایش ناهمزمان در آرایه‌ها
Promise.prototype.finally()اجرای عملیاتی پس از اتمام Promise، صرف‌نظر از موفقیت یا شکست آن
RegExp بهبود یافتهاضافه شدن ویژگی‌های جدید به عبارات منظم

۲۰۱۹ – ECMAScript 10 (ES10)

ویژگیتوضیحات
Array.prototype.flat() و flatMap()صاف‌سازی آرایه‌ها
Object.fromEntries()تبدیل آرایه‌ای از جفت‌های کلید-مقدار به شیء
String.prototype.trimStart() و trimEnd()حذف فاصله‌های اضافی از ابتدای یا انتهای رشته

۲۰۲۰ – ECMAScript 11 (ES11)

ویژگیتوضیحات
String.prototype.replaceAll()جایگزینی تمام موارد یک زیررشته در رشته
BigIntپشتیبانی از اعداد صحیح بزرگ
globalThisدسترسی به شیء global در تمام محیط‌ها

۲۰۲۱ – ECMAScript 12 (ES12)

ویژگیتوضیحات
WeakRefsارجاع‌های ضعیف به اشیاء
Logical Assignment Operatorsترکیب عملگرهای منطقی با عملگرهای انتساب

۲۰۲۲ – ECMAScript 13 (ES13)

ویژگیتوضیحات
class ویژگی‌های خصوصیامکان تعریف متغیرها و توابع خصوصی در کلاس‌ها
Top-level awaitاستفاده از await در سطح بالا بدون نیاز به توابع async

۲۰۲۳ – ECMAScript 14 (ES14)

ویژگیتوضیحات
Array.prototype.toSorted() و toReversed()متدهای جدید برای مرتب‌سازی و معکوس‌سازی آرایه‌ها بدون تغییر در آرایه اصلی

۲۰۲۴ – ECMAScript 15 (ES15)

ویژگیتوضیحات
Pattern Matchingالگوهای تطبیقی برای بررسی ساختار داده‌ها
Realms APIایجاد محیط‌های ایزوله برای اجرای کد
`Pipeline Operator (>)`

۲۰۲۵ – ECMAScript 16 (ES16)

ویژگیتوضیحات
RegExp /v Flagارتقاء ویژگی‌های Unicode در عبارات منظم
RegExp.escape()فرار از کاراکترهای خاص در عبارات منظم
Float16Arrayآرایه‌ای برای ذخیره اعداد شناور ۱۶ بیتی
Math.f16round()گرد کردن به نزدیک‌ترین عدد شناور ۱۶ بیتی
Promise.try()شروع زنجیره‌ای از Promiseها با مدیریت خطا
Set متدهای جدیداضافه شدن متدهایی مانند union(), intersection(), difference()
Import Attributesاضافه شدن ویژگی‌هایی به دستورات import