ECMAScript 2020

  • الصفحة السابقة JS 2019
  • الصفحة التالية JS 2021

رقم إصدار JavaScript

تُسمى إصدارات JS القديمة بالأرقام: ES5 (2009) و ES6 (2015).

بدءًا من عام 2016، يتم تسمية الإصدارات بناءً على السنة: ECMAScript 2016، 2017، 2018، 2019،...

ميزات جديدة في ES2020:

تحذير

هذه الميزات جديدة نسبيًا.

قد تحتاج المتصفحات القديمة إلى رمز بديل (Polyfill).

BigInt في JavaScript

استخدم متغير BigInt في JavaScript لتحفظ القيم الكبيرة التي لا يمكن تمثيلها باستخدام أرقام JavaScript العادية.

يمكن للعدد الصحيح في JavaScript تحقيق دقة إلى 15 رقم فقط.

مثال Integer

let x = 999999999999999;
let y = 9999999999999999; // كبير جدًا

جرب بنفسك

مثال BigInt

let x = 9999999999999999;
let y = 9999999999999999n;

جرب بنفسك

لإنشاء BigInt، يرجى وضع n لإضافة إلى نهاية عدد صحيح أو استدعاء BigInt():

مثال

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345);

جرب بنفسك

نوع BigInt في JavaScript هو "bigint":

مثال

let x = BigInt(999999999999999);
let type = typeof x;

جرب بنفسك

منذ سبتمبر 2020، جميع المتصفحات الحديثة تدعم BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
مايو 2018 شهر يناير 2020 يوليو 2019 سبتمبر 2020 يونيو 2018

طريقة matchAll() لـ JavaScript

قبل ES2020، لم يكن هناك أي طريقة نصية يمكن استخدامها للبحث عن جميع المرات التي يظهر فيها سلسلة نصية داخل سلسلة نصية.

مثال

const iterator = text.matchAll("Cats");

جرب بنفسك

إذا كانت المعلمة هي تعبير تقديري، يجب تعيين علامة العامل العام (g)، وإلا سيتم إلقاء TypeError.

مثال

const iterator = text.matchAll(/Cats/g);

جرب بنفسك

إذا كنت ترغب في البحث دون التمييز بين الأحرف الكبيرة والصغيرة، يجب تعيين علامة عدم التمييز بين الأحرف الكبيرة والصغيرة (i)

مثال

const iterator = text.matchAll(/Cats/gi);

جرب بنفسك

إشارة:ES2021 تم إدخال طريقة السلسلة النصية replaceAll().

عنصر التجميع الفارغ (مستشهد التجميع الفارغ) (运算符 ??)

إذا لم يكن المعلمة الأولى غير فارغةnull أو undefinedثم ?? عنصر الحساب يعود للمعلمة الأولى.

إذا لم يكن الأول فارغاً العودة

مثال

let name = null;
let text = "missing";
let result = name ?? text;

جرب بنفسك

منذ مارس 2020، جميع المتصفحات الحديثة تدعم عمليات الحساب Nullish:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
شهر فبراير 2020 شهر فبراير 2020 شهر يناير 2020 مارس 2020 مارس 2020

عنصر السلسلة الاختيارية (مستشهد اختياري عنصر) (运算符?.)

إذا كان الكائن undefined أو nullثمعنصر السلسلة الاختياريةالعودة undefinedبدلاً من إلقاء خطأ).

مثال

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;

جرب بنفسك

منذ مارس 2020، جميع المتصفحات الحديثة تدعم ?.= المعادلة:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
شهر فبراير 2020 شهر فبراير 2020 مارس 2020 مارس 2020 مارس 2020

وظيفة赋قيمة منطقية AND (&&= عميل)

عنصر تخصيص منطقي ANDللإشارة بين قيمتين.

إذا كان القيمة الأولى خطأ، يتم توزيع الثانية.

مثال على تخصيص منطقي AND

let x = 100;
x &&= 5;

جرب بنفسك

تم دعم جميع المتصفحات الحديثة منذ سبتمبر 2020 &&= المعادلة:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
أغسطس 2020 أغسطس 2020 مارس 2020 سبتمبر 2020 سبتمبر 2020

عنصر تخصيص منطقي OR (运算符 ||=)

عنصر تخصيص منطقي ORللإشارة بين قيمتين.

إذا كان القيمة الأولى صحيح، يتم توزيع الثانية.

مثال على تخصيص منطقي OR

let x = 10;
x ||= 5;

جرب بنفسك

تم دعم جميع المتصفحات الحديثة منذ سبتمبر 2020 ||= المعادلة:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
أغسطس 2020 أغسطس 2020 مارس 2020 سبتمبر 2020 سبتمبر 2020

assignment المفقودة (??= عميل)

assignment المفقودةمستخدم (Nullish Coalescing Assignment Operator) بين القيمتين.

إذا كانت القيمة الأولى undefined أو null، يتم توزيع الثانية.

مثال على assignment المفقودة

let x = 10;
x ??= 5;

جرب بنفسك

تم دعم جميع المتصفحات الحديثة منذ سبتمبر 2020 ??= المعادلة:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
أغسطس 2020 أغسطس 2020 مارس 2020 سبتمبر 2020 سبتمبر 2020
  • الصفحة السابقة JS 2019
  • الصفحة التالية JS 2021