ای سی ایم اے اسکریپٹ 2022
- پچھلے پیج جے ایس 2021
- پچھلے پیج جے ایس 2023
JavaScript کا نسلی نمبر
پرانی ECMAScript نسلیں نمبر کا نام لیتے ہیں: ES5 اور ES6۔
2016 سے شروع ہونے پر، نسلیں سال کا نام لیتے ہیں: ES2016، 2018، 2020، 2022۔
ES2022 کی نئی خصوصیات
- Array at()
- String at()
- RegExp /d
- Object.hasOwn()
- error.cause
- await import
- کلاس کا فیلڈ کا اعلان
- پرائیویٹ متد اور فیلڈز
اخطار:
یہ خصوصیات نسبتاً نئی ہیں۔
پرانی ناوہم کا استعمال کیا جاسکتا ہے (Polyfill)۔
JavaScript Array at()
ES2022 نے مجموعے کا متد شروع کیا۔ at()
:
مثال 1
fruits مجموعے کا تیسرا عنصر حاصل کریں:
const fruits = ["Banana", "Orange", "Apple", "Mango"]; let fruit = fruits.at(2);
مثال 2
fruits مجموعے کا تیسرا عنصر حاصل کریں:
const fruits = ["Banana", "Orange", "Apple", "Mango"]; let fruit = fruits[2];
at()
یہ متد مجموعے سے مقررہ انڈیکس کا عنصر واپس لے جاتا ہے۔
at()
روش با []
نتایج بازگشتی مشابه.
از 2022 سال 3 شروع، همه مرورگرهای مدرن از آن پشتیبانی میکنند at()
روش:
کروم | ایج | فائرفاکس | سافری | اوپرا |
---|---|---|---|---|
کروم 92 | اسکای 92 | فائرفاکس 90 | سافاری 15.4 | آپرا 78 |
2021 سے اپریل | 2021 سال 7 | 2021 سال 7 | 2022 سال 3 | 2021 سال 8 |
تذکرہ:
بہت سے زبانوں میں منفی انڈیکس استعمال کیا جاتا ہے (مثلاً [-1]
()) اشیاء/مجموعات/لفظ کا آخری عنصر دیکھنا
یہ JavaScript میں ممکن نہیں ہوتا، کیونکہ []
یہ متد استعمال کیا جاتا ہے تاکہ کوشش اور اشیاء کو دیکھا جاسکے۔ obj[-1] یہ کلیدی نمبر -1 کا کوشش نہیں ہوتا، بلکہ اشیاء کا آخری کوشش نہیں ہوتا۔
at()
اس متد کو ES2022 میں شروع کیا گیا ہے تاکہ اس مسئلے کو حل کیا جاسکے۔
JavaScript String at()
ES2022 نے لفظ کی طویل کا متد شروع کیا۔ at()
:
مثال 1
جائزہ کا نام لفظ کا تیسرا حرف حاصل کریں:
const name = "W3Schools"; let letter = name.at(2);
مثال 2
جائزہ کا نام لفظ کا تیسرا حرف حاصل کریں:
const name = "W3Schools"; let letter = name[2];
at()
روش از یک رشته حروف، حرف در موقعیت مشخص شده را بازمیگرداند.
at()
روش با []
نتایج بازگشتی مشابه.
از 2022 سال 3 شروع، همه مرورگرهای مدرن از آن پشتیبانی میکنند at()
روش:
کروم | ایج | فائرفاکس | سافری | اوپرا |
---|---|---|---|---|
کروم 92 | اسکای 92 | فائرفاکس 90 | سافاری 15.4 | آپرا 78 |
2021 سے اپریل | 2021 سال 7 | 2021 سال 7 | 2022 سال 3 | 2021 سال 8 |
تبادر RegExp d
ES2022 تبادر d را اضافه کرده است /d
متبادرها، برای نشان دادن شروع و پایان تطابق استفاده میشوند.
مثال
let text = "aaaabb"; let result = text.match(/(aa)(bb)/d);
متبادرهای RegExp برای مشخص کردن که جستجو بدون توجه به حروف بزرگ و کوچک و همچنین جستجوی کلی استفاده شود.
متبادر | توضیح | امتحان کنید |
---|---|---|
g | اجرای تطابق کلی (جستجوی همه). | امتحان کنید |
i | اجرای تطابق بدون توجه به حروف بزرگ و کوچک. | امتحان کنید |
d | اجرای تطابق زیرخط (ES2022 اضافه شده). | امتحان کنید |
m | اجرای تطابق چند خطی. | امتحان کنید |
Object.hasOwn()
ES2022 روش امنی برای بررسی اینکه یک ویژگی یک ویژگی خودکار اشیا است یا خیر ارائه میدهد.
Object.hasOwn()
مانند Object.prototype.hasOwnProperty
، اما از همه نوع اشیاء پشتیبانی میکند.
مثال
Object.hasOwn(myObject, age)
دلیل خطا
ES2022 اجازه میدهد با استفاده از error.cause دلیل اصلی خطا را مشخص کنید.
مثال
connectData(); catch (err) { } throw new Error("Connecting failed.", { cause: err }); }
جاوااسکریپت await import
جاوااسکریپت ماژولها میتوانند قبل از اجرا منتظر منابع مورد نیاز برای وارد کردن باشند:
import {myData} from './myData.js'; const data = await myData();
بیان فیلدهای کلاسی جاوااسکریپت
کلاس ہیلیو { counter = 0; // فیلد کلاسی } کنسٹ مائی کلاس = نیو ہیلیو(); let x = myClass.counter;
از 2021 سال 4 شروع، همه مرورگرهای مدرن از بیان فیلدهای کلاسی پشتیبانی میکنند:
کروم | ایج | فائرفاکس | سافری | اوپرا |
---|---|---|---|---|
کروم 72 | ایج 79 | فایرفاکس 69 | سافری 14.1 | آپرا 60 |
2019 سال 1 | 2020 سے جنوری | 2019 سال 9 | 2021 سے اپریل | 2020 سے جنوری |
جسٹا اسکریپٹ پرائیویٹ مہدات اور فیلڈز
کلاس ہیلیو { #کاؤنٹر = 0; // پرائیویٹ فیلڈ #مہدات() {} // پرائیویٹ مہدات } کنسٹ مائی کلاس = نیو ہیلیو(); لیٹ ایکس = مائی کلاس.#کاؤنٹر; // غلط مائی کلاس.#مہدات(); // غلط
2021 سے جون کے بعد، تمام جدید براؤزر میں پرائیویٹ مہدات اور فیلڈز کا پشتیبندی ہے:
کروم | ایج | فائرفاکس | سافری | اوپرا |
---|---|---|---|---|
کروم 74 | ایج 79 | فائرفاکس 90 | سافری 14.1 | اوپرا 62 |
2019 سے اپریل | 2020 سے جنوری | 2021 سے جون | 2021 سے اپریل | 2019 سے جون |
- پچھلے پیج جے ایس 2021
- پچھلے پیج جے ایس 2023