ای سی ایم اے اسکریپٹ 2019
شماره نسخه JavaScript
نسخههای قدیمی JS با عدد نامگذاری میشوند: ES5 (2009) و ES6 (2015).
از سال 2016، نسخهها با نام سال نامگذاری میشوند: ECMAScript 2016، 2017، 2018، 2019،...
ویژگیهای جدید ES2019:
- String.trimStart()
- String.trimEnd()
- Object.fromEntries
- بند بستری catch
- Array.flat()
- Array.flatMap()
- Array.Sort() بازنویسی شده
- بازنویسی جسٹاگرام JSON.stringify()
- علامتهای جداکننده مجاز در متن رشته
- Function.toString() بازنویسی شده
اخطار
این ویژگیها نسبتاً جدید هستند.
مرورگرهای قدیمی ممکن است نیاز به کد جایگزین (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; }