مقدمه
نسخه جدید استاندارد ECMAScript یعنی ES2024 یا ECMAScript 2024 در ادامه تلاش جامعه TC39 برای توسعه پایدار و پیشرفتهتر جاوااسکریپت منتشر شده است. این نسخه شامل چند ویژگی کلیدی و مورد انتظار توسعهدهندگان بوده که کدنویسی را سادهتر و بهینهتر میسازد.
در این مقاله، نگاهی میاندازیم به مهمترین ویژگیهای جدید ES2024.
۱. Set Methods
جاوااسکریپت حالا از متدهای مقایسهای برای Set
پشتیبانی میکند:
const a = new Set([1, 2, 3]);
const b = new Set([3, 4, 5]);
const union = new Set([...a, ...b]);
const intersection = new Set([...a].filter(x => b.has(x)));
این موارد حالا بهصورت رسمی با متدهایی مثل Set.prototype.union()
، intersection()
و difference()
تعریف شدهاند.
۲. .at()
برای TypedArray
متد at()
حالا روی TypedArray
ها مانند Uint8Array
, Float64Array
و ... هم پشتیبانی میشود:
const bytes = new Uint8Array([10, 20, 30]);
console.log(bytes.at(-1)); // 30
۳. .toSorted()
و .with()
برای TypedArray
متدهایی که در ES2023 برای آرایهها معرفی شدند، حالا به TypedArray
ها هم گسترش داده شدهاند:
const numbers = new Uint16Array([5, 2, 8]);
const sorted = numbers.toSorted();
console.log(sorted); // Uint16Array(3) [2, 5, 8]
۴. Decorators
بعد از مدتها بحث و توسعه، Decoratorها بهصورت رسمی به زبان اضافه شدهاند و میتوان آنها را برای تعریف ویژگیهای متادیتا، لاگگیری و موارد دیگر روی کلاسها استفاده کرد:
function log(target, key, descriptor) {
const original = descriptor.value;
descriptor.value = function(...args) {
console.log(`Called ${key} with`, args);
return original.apply(this, args);
};
return descriptor;
}
class User {
@log
sayHi(name) {
return `Hello ${name}`;
}
}
نتیجهگیری
ES2024 گامی دیگر در جهت مدرنسازی جاوااسکریپت است. پشتیبانی بهتر از ساختارهای داده، قابلیتهای بیشتر برای تایپد-آرایهها و اضافه شدن Decoratorها، امکانات قدرتمندی را در اختیار توسعهدهندگان قرار میدهد.