ECMAScript 2020
JavaScript संस्करण संख्या
पुराने JS संस्करणों का नाम संख्याओं के अनुसार किया जाता है: ES5 (2009) और ES6 (2015)。
2016 से शुरू होकर, संस्करणों का नाम वर्षों के अनुसार किया जाता है: ECMAScript 2016, 2017, 2018, 2019, ...
ES2020 में नई विशेषताएं:
- BigInt
- शब्दकोश विधि matchAll()
- खाली मूल्य संयोजन ऑपरेटर (??)
- विकल्पित श्रेणी ऑपरेटर (?.)
- लॉजिक AND असंयोजन ऑपरेटर (&&=)
- लॉजिक OR असंयोजन ऑपरेटर (||=)
- खाली मूल्य संयोजन ऑपरेटर (??=)
- Promise.allSettled()
- डायनेमिक इम्पोर्ट
चेतावनी
ये विशेषताएं अभी तक नई हैं。
अधिक पुराने ब्राउज़रों को पॉलीफिल (Polyfill) की जरूरत हो सकती है。
जावास्क्रिप्ट बिगइंट
JavaScript BigInt वेरियेबल बहुत बड़े विन्यासों को संग्रहीत करने के लिए उपयोग किए जाते हैं जो सामान्य JavaScript नंबरों द्वारा प्रस्तुत नहीं किए जा सकते हैं。
JavaScript इंटीजर की सबसे अधिक 15 अंकों की सटीकता होती है。
इंटीजर इंस्टेंस
let x = 999999999999999; let y = 9999999999999999; // बहुत बड़ा
BigInt इंस्टेंस
let x = 9999999999999999; let y = 9999999999999999n;
यदि आप बिगइंट बनाना चाहते हैं, तो n
संख्या के अंत में जोड़ें या BigInt() को बुला दें:
उदाहरण
let x = 1234567890123456789012345n; let y = BigInt(1234567890123456789012345);
BigInt का JavaScript टाइप "bigint" है:
उदाहरण
let x = BigInt(999999999999999); let type = typeof x;
2020 सितंबर से लेकर, सभी आधुनिक ब्राउज़र बिगइंट का समर्थन करते हैं:
च्रोम | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
Chrome 67 | एड्ज 79 | फायरफॉक्स 68 | सैफारी 14 | ओपेरा 54 |
2018 वर्ष 5 माह | फायरफॉक्स 72 | 2019 वर्ष 7 माह | 2020 मार्च | 2018 वर्ष 6 माह |
जावास्क्रिप्ट स्ट्रिंग मेथड मैचअल
ES2020 से पहले, स्ट्रिंग में सभी प्रदर्शनों को तलाशने के लिए कोई स्ट्रिंग विधि उपलब्ध नहीं थी。
उदाहरण
const iterator = text.matchAll("Cats");
यदि पैरामीटर एक रेगुलर एक्सप्रेशन है, तो वैश्विक चिह्नित करें (g
) नहीं करने पर TypeError फेंका जाएगा。
उदाहरण
const iterator = text.matchAll(/Cats/g);
यदि निरूपक अभिन्न प्रभाव तलाशना है, तो अभिन्न प्रभाव चिह्नित करें (i
)
उदाहरण
const iterator = text.matchAll(/Cats/gi);
सूचना:ES2021 replaceAll() स्ट्रिंग विधि को शामिल किया गया है
यदि पैरामीटर एक रेगुलर एक्सप्रेशन है, तो वैश्विक चिह्नित करें (
चिह्नित करें (नल
यदि वस्तु अनियमित
खाली मान समावेश परिवर्तक (खाली मान समावेश परिवर्तक) (?? परिवर्तक) यदि पहले पैरामीटर खाली मान नहीं है (
??
परिवर्तक पहले पैरामीटर को वापस करता है
उदाहरण
अन्यथा दूसरा वापस करता है let name = null; let text = "missing";
let result = name ?? text;
च्रोम | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 80 | एड्ज 80 | 2020 वर्ष 3 माह से लेकर, सभी आधुनिक ब्राउज़र nullish परिवर्तक का समर्थन करते हैं: | सफारी 13.1 | ओपेरा 67 |
2020 वर्ष 2 माह | 2020 वर्ष 2 माह | फायरफॉक्स 72 | 2020 सितंबर | 2020 सितंबर |
2020 वर्ष 1 माह
विकल्पीय श्रेणी परिवर्तक (विकल्पीय चयन परिवर्तक) (?. परिवर्तक) अनियमित
यदि वस्तु नल
तथाविकल्पीय श्रेणी परिवर्तकवापस करता है अनियमित
यदि त्रुटि फेंके बजाय。
उदाहरण
const car = {type:"Fiat", model:"500", color:"white"}; let name = car?.name;
2020 वर्ष 3 माह से लेकर, सभी आधुनिक ब्राउज़र इसका समर्थन करते हैं ?.=
ऑपरेटर:
च्रोम | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 80 | एड्ज 80 | फायरफॉक्स 74 | सफारी 13.1 | ओपेरा 67 |
2020 वर्ष 2 माह | 2020 वर्ष 2 माह | 2020 सितंबर | 2020 सितंबर | 2020 सितंबर |
लॉजिकल एण्ड असाइंग ऑपरेटर (&&= ऑपरेटर)
�र्क AND अनुच्छेदाकरण परिवर्तकदोन मानों के बीच के लिए उपयोग किया जाता है。
यदि पहला मान सही
यदि पहला मान शून्य मान नहीं है, तो दूसरा मान आबंटित करें。
तर्क AND अनुच्छेदाकरण उदाहरण
let x = 100; x &&= 5;
2020 सितंबर से, सभी आधुनिक ब्राउज़रों द्वारा समर्थित &&=
ऑपरेटर:
च्रोम | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 85 | एज 85 | फायरफॉक्स 79 | सैफारी 14 | ओपेरा 71 |
2020 अगस्त | 2020 अगस्त | 2020 सितंबर | 2020 मार्च | 2020 मार्च |
तर्क OR अनुच्छेदाकरण परिवर्तक (||= परिवर्तक)
तर्क OR अनुच्छेदाकरण परिवर्तकदोन मानों के बीच के लिए उपयोग किया जाता है。
यदि पहला मान गलत
यदि पहला मान शून्य मान नहीं है, तो दूसरा मान आबंटित करें。
तर्क OR अनुच्छेदाकरण उदाहरण
let x = 10; x ||= 5;
2020 सितंबर से, सभी आधुनिक ब्राउज़रों द्वारा समर्थित ||=
ऑपरेटर:
च्रोम | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 85 | एज 85 | फायरफॉक्स 79 | सैफारी 14 | ओपेरा 71 |
2020 अगस्त | 2020 अगस्त | 2020 सितंबर | 2020 मार्च | 2020 मार्च |
शून्य मान के साथ मिलान असाइंग ऑपरेटर (??= ऑपरेटर)
शून्य मान के साथ मिलान असाइंग ऑपरेटरदो मानों के बीच के लिए (Nullish Coalescing Assignment Operator) उपयोग किया जाता है。
यदि पहला मान अनियमित
या नल
यदि पहला मान शून्य मान नहीं है, तो दूसरा मान आबंटित करें。
शून्य मान के साथ मिलान असाइंग इंस्टांस
let x = 10; x ??= 5;
2020 सितंबर से, सभी आधुनिक ब्राउज़रों द्वारा समर्थित ??=
ऑपरेटर:
च्रोम | एज | फायरफॉक्स | सैफारी | ओपेरा |
---|---|---|---|---|
च्रोम 85 | एज 85 | फायरफॉक्स 79 | सैफारी 14 | ओपेरा 71 |
2020 अगस्त | 2020 अगस्त | 2020 सितंबर | 2020 मार्च | 2020 मार्च |