ECMAScript 2022
JavaScript संस्करण संख्या
पुराने ECMAScript संस्करण संख्या के नाम से पुकारे जाते हैं: ES5 और ES6。
2016 से शुरू होकर, संस्करण वर्ष के नाम से पुकारे जाते हैं: ES2016, 2018, 2020, 2022。
ES2022 की नई विशेषताएं
- Array at()
- String at()
- RegExp /d
- ऑब्जेक्ट.हैज़ओव्हन()
- error.cause
- await import
- क्लास क्षेत्र घोषणा
- निजी विधि और क्षेत्र
चेतावनी:
ये विशेषताएं काफी नई हैं。
पुराने ब्राउज़र के लिए प्रतिकृत कोड (Polyfill) की आवश्यकता हो सकती है。
JavaScript Array at()
ES2022 में गणांक विधि शुरू की गई एट()
:
उदाहरण 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];
एट()
विधि निर्दिष्ट सूचकांक के तहत एलिमेंट वापस करती है।
एट()
तरीका []
जो नतीजा मिलता है वही है。
2022 वर्ष 3 अगस्त से, सभी आधुनिक ब्राउज़रों में एट()
तरीका:
च्रोम से 2021 जून के लिए सभी आधुनिक ब्राउज़रों में निजी तरीके और फील्ड सहाय्य किया गया है: | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 92 | एज 92 | फायरफॉक्स 90 | साफारी 15.4 | ओपेरा 78 |
2021 अप्रैल | 2021 वर्ष 7 अगस्त | 2021 वर्ष 7 अगस्त | 2022 वर्ष 3 अगस्त | 2021 वर्ष 8 अगस्त |
ध्यान दें:
कई भाषाएं में नकारात्मक सूचकांक के उपयोग की अनुमति है (जैसे [-1]
)वस्तु/गणांक/शब्द के अंतिम एलिमेंट को देखें。
इसका JavaScript में असंभव है क्योंकि []
इसका उपयोग एक्सेस करने के लिए किया जाता है, जैसे गणांक और वस्तुएं।obj[-1] का अर्थ है कि -1 के लिए मूल्य है, न कि वस्तु की अंतिम गुण।
एट()
यह विधि ES2022 में शुरू की गई है, ताकि इस समस्या को हल किया जा सके。
JavaScript String at()
ES2022 में शब्द विधि शुरू की गई एट()
:
उदाहरण 1
name शब्दांतर की तीसरी अक्षर प्राप्त करें:
कॉन्स्ट नेम = "डब्ल्यू3स्कूल्स"; let letter = name.at(2);
उदाहरण 2
name शब्दांतर की तीसरी अक्षर प्राप्त करें:
कॉन्स्ट नेम = "डब्ल्यू3स्कूल्स"; लेट लेटर = नेम[2];
एट()
तरीका से स्ट्रिंग से निर्दिष्ट इंडेक्स के लिए अक्षर को वापस करता है。
एट()
तरीका []
जो नतीजा मिलता है वही है。
2022 वर्ष 3 अगस्त से, सभी आधुनिक ब्राउज़रों में एट()
तरीका:
च्रोम से 2021 जून के लिए सभी आधुनिक ब्राउज़रों में निजी तरीके और फील्ड सहाय्य किया गया है: | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 92 | एज 92 | फायरफॉक्स 90 | साफारी 15.4 | ओपेरा 78 |
2021 अप्रैल | 2021 वर्ष 7 अगस्त | 2021 वर्ष 7 अगस्त | 2022 वर्ष 3 अगस्त | 2021 वर्ष 8 अगस्त |
आरईपीजेक्स डी मोड़ जोड़ा है
ES2022 ने /डी
मोड़, जो मेल की शुरूआत और समाप्ति को चिह्नित करता है。
इंस्टांस
लेट टेक्स्ट = "एएएएबीबी"; लेट रिजल्ट = टेक्स्ट.मैच(/(एए)(बीबी)/डी);
आरईपीजेक्स मोड़ का उपयोग बड़े-क्षूर के बग़ल में खोज करने और अन्य वैश्विक खोज के लिए किया जाता है:
मोड़ | वर्णन | अभिजाया |
---|---|---|
जी | सम्पूर्ण मेल होने का परीक्षण करें (अगर सभी मेल को खोजें) | अभिजाया |
आई | बड़े-क्षूर के बग़ल में मेल होने का परीक्षण करें | अभिजाया |
डी | उप-अक्षरगणना मेल होने का परीक्षण करें (ES2022 नया) | अभिजाया |
एम | बहु-पट्टी में मेल होने का परीक्षण करें | अभिजाया |
ऑब्जेक्ट.हैज़ओव्हन()
ES2022 एक सुरक्षित तरीका प्रदान करता है कि क्या गुण ऑब्जेक्ट का स्वयं का गुण है या नहीं।
ऑब्जेक्ट.हैज़ओव्हन()
लौकिक ऑब्जेक्ट.प्रोटोटाइप.हैज़ओव्हन
बदले हुए, सभी ऑब्जेक्ट टाइप का समर्थन करता है。
इंस्टांस
ऑब्जेक्ट.हैज़ओव्हन(मायओब्जेक्ट, एज);
एर्रोर कॉज़
ES2022 एरर.कॉज़ द्वारा गलती की मूल कारण निर्दिष्ट करने की अनुमति देता है。
इंस्टांस
ट्री (एर्र); कनेक्टडाटा(); अदा (एर्र); थ्रो न्यू एररर("कनेक्टिंग फेलेल रहा"); #myMethod() {} // निजी तरीका
जेसक्रिप्ट एवॉइट इम्पोर्ट
जेसक्रिप्ट मॉड्यूल अब आयातित संसाधन की प्रतीक्षा कर सकते हैं जो चलने से पहले चाहिए:
इम्पोर्ट {मायडाटा} फ़्रॉम './मायडाटा.जेस'; कॉन्स्ट डाटा = एक्सेप्ट मायडाटा();
जेसक्रिप्ट क्लास फील्ड घोषणा
जावास्क्रिप्ट निजी तरीके और फील्ड काउंटर = 0; // क्लास फील्ड #myMethod() {} // निजी तरीका } लेट x = मायक्लास.काउंटर;
2021 वर्ष 4 से, सभी आधुनिक ब्राउज़रों में क्लास फील्ड घोषणा समर्थित है:
च्रोम से 2021 जून के लिए सभी आधुनिक ब्राउज़रों में निजी तरीके और फील्ड सहाय्य किया गया है: | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 72 | एज 79 | फायरफॉक्स 69 | सैफारी 14.1 | ओपेरा 60 |
2019 वर्ष 1 जनवरी | 2020 जनवरी | 2019 वर्ष 9 अगस्त | 2021 अप्रैल | 2020 जनवरी |
JavaScript 私有方法和字段
जावास्क्रिप्ट निजी तरीके और फील्ड class Hello { #counter = 0; // निजी फील्ड #myMethod() {} // निजी तरीका } const myClass = new Hello(); let x = myClass.#counter; // गलती
myClass.#myMethod(); // गलती
च्रोम से 2021 जून के लिए सभी आधुनिक ब्राउज़रों में निजी तरीके और फील्ड सहाय्य किया गया है: | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 74 | एज 79 | फायरफॉक्स 90 | सैफारी 14.1 | ओपेरा 62 |
2019 अप्रैल | 2020 जनवरी | 2021 जून | 2021 अप्रैल | 2019 जून |