بازگشت به آرشیو مقالات
✍️ مقاله آموزشی زمان مطالعه: 7 دقیقه

بررسی ویژگی‌های جدید JavaScript ES2026

انتشار: 2026/09/21 نویسنده: آکادمی آئینی
بررسی ویژگی‌های جدید JavaScript ES2026
بررسی ویژگی‌های جدید JavaScript ES2026 استاندارد جدید زبان جاوااسکریپت (ECMAScript 2026 / ES2026) ویژگی‌های کاربردی و مهمی را به این زبان اضافه کرده است. تمرکز این نسخه بیشتر روی حذف پکیج‌ها و متدهای جانبی، بهینه‌سازی کار با پروژه‌های ناهمگام (Async)، دقیق‌تر شدن محاسبات ریاضی و آسان‌تر شدن کار با گروه‌بندی داده‌ها بوده است. در این مقاله جامع از آکادمی آئینی، مهم‌ترین ویژگی‌های جدید اضافه شده به ES2026 را همراه با نمونه کدهای کاربردی بررسی می‌کنیم. --- ۱. متد Array.fromAsync پیش از این، ساخت آرایه از ورودی‌های ناهمگام (Async Iterables) نیازمند حلقه‌های for await...of بود. اکنون با متد Array.fromAsync می‌توانید دیپلوئیدها یا منابعی که Promise برمی‌گردانند را به راحتی و در یک سطر کد به آرایه تبدیل کنید. ```javascript const asyncIterable = (async function () { yield 1; yield 2; })(); const result = await Array.fromAsync(asyncIterable); console.log(result); // [1, 2] ``` --- ۲. متد جدید Map.prototype.getOrInsert یکی از کاربردی‌ترین متدهای اضافه شده برای ساختارهای داده، متد getOrInsert است. دیگر نیازی به چک کردن تکراری وجود کلید در Map با متد has و سپس اعمال set نیست. این متد در صورت عدم وجود کلید، مقدار پیش‌فرض را درج و همان را برمی‌گرداند. ```javascript const map = new Map(); const user = map.getOrInsert('username', 'Guest'); console.log(user); // 'Guest' ``` --- ۳. متدهای رمزنگاری Base64 و Hex در Uint8Array برای تبدیل داده‌های بایت به فرمت‌های Hex و Base64 در مرورگر و Node.js، دیگر نیازی به استفاده از کتابخانه‌های جانبی مانند Buffer یا توابع تبدیل دستی نیست و این امکان به‌صورت نیتیو اضافه شده است. ```javascript const bytes = new Uint8Array([72, 101, 108, 108, 111]); const base64 = bytes.toBase64(); // "SGVsbG8=" const hex = bytes.toHex(); // "48656c6c6f" ``` --- ۴. متد محاسبه دقیق Math.sumPrecise جمع اعداد اعشاری در جاوااسکریپت همواره به دلیل خطاهای پردازش اعداد ممیز شناور (Floating-point) مشکل‌ساز بود. متد Math.sumPrecise محاسبات ریاضی را بدون افت دقت انجام می‌دهد. ```javascript const numbers = [1e17, 1, -1e17]; console.log(Math.sumPrecise(numbers)); // 1 (دقیق) ``` --- ۵. تشخیص دقیق‌تر خطاها با Error.isError تشخیص اینکه یک شیء واقعاً یک خطای واقعی است یا خیر، هنگام گذر از محیط‌های مختلف (مانند iframeها) با روش‌های قدیمی دچار مشکل می‌شد. تابع استاتیک Error.isError به طور دقیق ساختار Error را اعتبارسنجی می‌کند. ```javascript try { throw new TypeError("Invalid Operation"); } catch (err) { if (Error.isError(err)) { console.log("خطایی رخ داده است!"); } } ``` --- ۶. ترکیب دنباله‌ها با Iterator.concat زنجیره‌سازی چرخنده‌ها (Iterators) به صورت ترتیبی و بدون ساخت آرایه‌های واسط یا ساخت تابع‌های متوالی ساده‌تر شده است. ```javascript const it1 = [1, 2].values(); const it2 = [3, 4].values(); const combined = Iterator.concat(it1, it2); console.log([...combined]); // [1, 2, 3, 4] ``` --- جمع‌بندی ویژگی‌های اضافه شده به ES2026 نشان‌دهنده بلوغ روزافزون جاوااسکریپت در جهت بی‌نیاز کردن توسعه‌دهندگان از کتابخانه‌های جانبی است. تسلط بر این قابلیت‌های جدید باعث افزایش سرعت کدنویسی، بهبود پرفورمنس برنامه‌ها و تمیزتر شدن کدهای پروژه‌های شما خواهد شد.