ای سی ایم اے اسکریپٹ 2019

شماره نسخه JavaScript

نسخه‌های قدیمی JS با عدد نامگذاری می‌شوند: ES5 (2009) و ES6 (2015).

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

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

اخطار

این ویژگی‌ها نسبتاً جدید هستند.

مرورگرهای قدیمی ممکن است نیاز به کد جایگزین (Polyfill) داشته باشند

میتود جسٹاگرام سٹرنگ trimStart()

ES2019 روش String را به JavaScript اضافه کرده است trimStart()

trimStart() روش کار این روش با trim() مثل، اما تنها فضاهای خالی ابتدایی را حذف می‌کند.

مثال

let text1 = "     Hello World!     ";
let text2 = text1.trimStart();

خود کا تجربہ کریں

از ژانویه 2020، تمام مرورگرهای مدرن پشتیبانی از JavaScript String trimStart() را دارند:

کروم ایج فائر فاکس سافری آپرا
کروم 66 ایج 79 فائر فاکس 61 سافری 12 آپرا 50
اپریل 2018 میں جنوری 2020 میں جون 2018 میں ستمبر 2018 میں مئی 2018 میں

میتود جسٹاگرام سٹرنگ trimEnd()

ES2019 نے جاوا اسکریپٹ کو اضافی طور پر trimEnd() روش‌های رشته.

trimEnd() روش کار این روش با trim() مثل، اما تنها فضاهای خالی انتهایی را حذف می‌کند.

مثال

let text1 = "     Hello World!     ";
let text2 = text1.trimEnd();

خود کا تجربہ کریں

جنوری 2020 سے اب تک، تمام جدید ترین بروسر ایکٹر جاوا اسکریپٹ میں جاوا اسکریپٹ سٹرنگ trimEnd() کو مدد دیتے ہیں:

کروم ایج فائر فاکس سافری آپرا
کروم 66 ایج 79 فائر فاکس 61 سافری 12 آپرا 50
اپریل 2018 میں جنوری 2020 میں جون 2018 میں ستمبر 2018 میں مئی 2018 میں

میتود جسٹاگرام اوبجیکٹ fromEntries()

ES2019 نے جاوا اسکریپٹ کو اضافی طور پر fromEntries() اوبجیکٹ طریقہ کار

fromEntries() طریقہ قابل تعداد کی کلیدی/مقابل کی جوڑیوں سے اوبجیکٹ تیار کرتا ہے。

مثال

const fruits = [
["apples", 300],
["pears", 900],
["bananas", 500]

const myObj = Object.fromEntries(fruits);

خود کا تجربہ کریں

جنوری 2020 سے اب تک، تمام جدید ترین بروسر ایکٹر جاوا اسکریپٹ میں جاوا اسکریپٹ اوبجیکٹ fromEntries() کو مدد دیتے ہیں:

کروم ایج فائر فاکس سافری آپرا
کروم 73 ایج 79 فائر فاکس 63 سافری 12.1 آپرا 60
مارچ 2019 میں جنوری 2020 میں اکتوبر 2018 میں مارچ 2019 میں اپریل 2019 میں

بند بستری catch

اسٹیج 2019 سے اب تک، اگر چاہئیے تو کچ پارامتر کو چھوڑ سکتے ہیں:

مثال

2019 سے پہلے:

try {
// کد
catch (err) {
// کد
}

2019 کے بعد:

try {
// کد
catch {
// کد
}

جنوری 2020 سے اب تک، تمام جدید ترین بروسر ایکٹر جاوا اسکریپٹ میں اختیاری کچ چنڈلنگ کو مدد دیتے ہیں:

کروم ایج فائر فاکس سافری آپرا
کروم 66 ایج 79 فائر فاکس 58 سافری 11.1 آپرا 53
اپریل 2018 میں جنوری 2020 میں جنوری 2018 میں مارچ 2018 میں مئی 2018 میں

میتود جسٹاگرام آرایه flat()

ES2019 نے جاوا اسکریپٹ کو اضافی طور پر flat() تعداد کی طریقہ کار

flat() طریقہ نیم تعداد کو پتھر میں بکھلوانا اور نئی تعداد کو تیار کرتا ہے。

مثال

const myArr = [[1,2],[3,4],[5,6]];
const newArr = myArr.flat();

خود کا تجربہ کریں

جنوری 2020 سے اب تک، تمام جدید ترین بروسر ایکٹر جاوا اسکریپٹ تعداد flat() کو مدد دیتے ہیں:

کروم ایج فائر فاکس سافری آپرا
کروم 69 ایج 79 فائر فاکس 62 سافری 12 آپرا 56
ستمبر 2018 میں جنوری 2020 میں ستمبر 2018 میں ستمبر 2018 میں ستمبر 2018 میں

میتود جسٹاگرام آرایه flatMap()

ES2019 نے جاوا اسکریپٹ کو اضافی طور پر flatMap() تعداد کی طریقہ کار

flatMap() طریقہ ابتدائی طور پر اعداد کی تعداد کی تمام عناصر کو نقش بند کرتا ہے، تو نئی تعداد کو تیار کرنے کے لئے تعداد کو پتھر میں بکھلوانا کرتا ہے。

مثال

const myArr = [1, 2, 3, 4, 5, 6];
const newArr = myArr.flatMap((x) => x * 2);

خود کا تجربہ کریں

میتود آرایه پائیدار sort()

ES2019 بازنویسی了 Array sort() 方法。

在 2019 年之前,规范允许不稳定的排序算法,例如 QuickSort。

在 ES2019 之后,浏览器必须使用稳定的排序算法:

当根据一个值对元素进行排序时,这些元素必须保持它们与具有相同值的其他元素的相对位置。

مثال

const myArr = [
  {name:"X00",price:100 },
  {name:"X01",price:100 },
  {name:"X02",price:100 },
  {name:"X03",price:100 },
  {name:"X04",price:110 },
  {name:"X05",price:110 },
  {name:"X06",price:110 },
  {name:"X07",price:110 }

خود کا تجربہ کریں

مثال میں، جب قیمت کی بنیاد پر ترتیب کی جائی، تو نتیجے میں دوسرے نمائش کی حیثیت سے نہیں نمودار ہونا چاہئیے، مثلاً:

X01 100
X03 100
X00 100
X03 100
X05 110
X04 110
X06 110
X07 110

بازنویسی جسٹاگرام JSON.stringify()

ES2019 بازنویسیJSON.stringify() کی مدد سے。

2019 سے پہلے، JSON، اسکائر کی شکل میں استعمال کئے جانے والے حروف کو نہیں استعمال کرسکتا تھا。

مثال

let text = JSON.stringify("\u26D4");

خود کا تجربہ کریں

ES2019 سے پہلے، UTF-8 کوڈ پوائنٹ (U+D800 سے U+DFFF) پر JSON.stringify() استعمال کرنا، مضر یونیکد حروف جیسا ��� لاحق ہوتا تھا。

اس ترمیم کے بعد، UTF-8 کوڈ پوائنٹ والی حروف کو JSON.stringify() کے ذریعے محفوظ طور پر تبدیل کیا جاسکتا ہے اور JSON.parse() کے ذریعے اصل حرف واپس حاصل کیا جاسکتا ہے。

علامت تقسیم

خط آخری اور ختم کردار کا استعمال اب حرف میں کیا جاسکتا ہے (\u2028 اور \u2029)。

2019 سے پہلے، یہ خط آخری کے طور پر بناکر غلطیوں کا باعث بنائی جاتا تھا:

مثال

// یہ ES2019 میں اچھا ہے:
let text = "\u2028";

خود کا تجربہ کریں

توجہ دیجئے

اب، جاوا اسکریپت اور JSON اک ہی قوانین کا حامل ہیں。

ES2019 سے پہلے:

text = JSON.parse('"\u2028"') آپس میں '' بنایا جائیگا。

text = '"\u2028"' دے ساتھگرامر کا غلطی

بازنویسی جسٹاگرام Function toString()

ES2019 بازنویسیFunction toString() میتود کا.

toString() میتود فانکشن کا سورس کو نمائش کرنے والی سٹرنگ واپس دیتا ہے۔

2019 سال سے شروع کر کے، toString() کو فانکشن کا سورس کو واپس دینا چاہئے، جس میں کا میٹنو، خالی جگہات اور قواعد جملات شامل ہیں۔

2019 سال کے قبل، مختلف بروزر مختلف فانکشن متغیرات(مثلاً بغیر کا میٹنو اور خالی جگہات) واپس دیتے تھے۔ 2019 سال سے شروع کر کے، فانکشن پورا طور پر لکھنے کے مطابق واپس دیتا ہے۔

مثال

فانکشن مای فانکشن(p1, p2) {
  بازگشت p1 * p2;
}

خود کا تجربہ کریں