ECMAScript 2021
رقم إصدار JavaScript
تم تسمية إصدارات JS القديمة بالأرقام: ES5 (2009) وES6 (2015).
بدءًا من عام 2016، يتم تسمية الإصدارات بناءً على السنة: ECMAScript 2016،2017،2018،2019،...
ميزات جديدة
ميزات جديدة في ES2021:
- Promise.any()
- طريقة replaceAll() للصفحات النصية
- ميزة فصل الأرقام (_)
ميزات جديدة في ES2022:
- طريقة at() للصفحات
- طريقة at() للصفحات النصية
- تعبير عشوائي /d
- Object.hasOwn()
- error.cause
- await import
- الطرق والحقول الخاصة
- بيان الحقول الكلاسيكية
تحذير
هذه الميزات جديدة نسبيًا.
قد تحتاج المتصفحات القديمة إلى شيفرة بديلة (Polyfill)
طريقة ReplaceAll() لصفحة JavaScript
تم إدخال طريقة replaceAll() للصفحات النصية في ES2021:
مثال
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
يُمكنك استخدام طريقة replaceAll() لتعيين تعبير عشوائي بدلاً من النص الذي سيتم استبداله.
إذا كان المعامل تعبيرًا عشوائيًا،则在جعل العلامة العالمية إلزامية.g
،في حالة عدم القيام بذلك،سيتم إلقاء TypeError.
مثال
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
نصيحة:}ES2020 تم إدخال طريقة السلسلة matchAll().
فاصلة الترقيم الرقمية في JavaScript
أدخل ES2021 فاصلة الترقيم الرقمية (_
) لجعل الرقم أكثر قراءة:
مثال
const num = 1_000_000_000;
تستخدم فاصلة الترقيم الرقمية فقط لأغراض عرضية.
مثال
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
يمكن وضع فاصلة الترقيم الرقمية في أي مكان داخل الرقم:
مثال
const num1 = 1_2_3_4_5;
ملاحظة
لا يُسمح بوجود فاصلة الترقيم الرقمية في بداية أو نهاية الرقم.
في JavaScript، هناك فقطم変يابيمكن أن تبدأ بـ _.
من كانون الثاني/يناير 2020، جميع المتصفحات الحديثة تدعم فاصلة الترقيم الرقمية:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
حزيران/يونيو 2019 | كانون الثاني/يناير 2020 | تشرين الأول/أكتوبر 2019 | أيلول/سبتمبر 2019 | حزيران/يونيو 2019 |