ECMAScript 2021
شماره نسخه JavaScript
نسخههای قدیمی JavaScript با عدد نامگذاری میشوند: ES5 (۲۰۰۹) و ES6 (۲۰۱۵).
از سال ۲۰۱۶ به بعد، نسخهها با سال نامگذاری میشوند: ECMAScript 2016، 2017، 2018، 2019،...
ویژگیهای جدید
ویژگیهای جدید ES2021:
- Promise.any()
- مетод replaceAll() رشته
- نقاط جداکننده عددی (_)
ویژگیهای جدید ES2022:
- مетод at() آرایه
- مетод at() رشته
- عبارت منظم /d
- Object.hasOwn()
- error.cause
- await import
- روشها و فیلدهای خصوصی
- اعلام کردن فیلدهای کلاس
اخطار
این ویژگیها نسبتاً جدید هستند.
بعضی از مرورگرهای قدیمی ممکن است نیاز به کد جایگزین (Polyfill) داشته باشند
مетод ReplaceAll() رشته JavaScript
ES2021 روشی جدید برای رشتهها به نام replaceAll() معرفی کرده است:
مثال
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 | january 2020 | october 2019 | سپتامبر 2019 | ژوئن 2019 |