ECMAScript 2021

شماره نسخه JavaScript

نسخه‌های قدیمی JavaScript با عدد نامگذاری می‌شوند: ES5 (۲۰۰۹) و ES6 (۲۰۱۵).

از سال ۲۰۱۶ به بعد، نسخه‌ها با سال نامگذاری می‌شوند: ECMAScript 2016، 2017، 2018، 2019،...

ویژگی‌های جدید

ویژگی‌های جدید ES2021:

ویژگی‌های جدید 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