ECMAScript 2021
JavaScript संस्करण संख्या
पुराने JS संस्करणों को संख्या से नामकरण किया जाता है: ES5 (2009) और ES6 (2015)
2016 से, संस्करण वर्ष के नाम से नामकरण किया जाता है: ECMAScript 2016, 2017, 2018, 2019, ...
नई विशेषताएं
ES2021 में नई विशेषताएं:
- Promise.any()
- शब्दबंध विधि replaceAll()
- संख्या विभाजक (_)
ES2022 में नई विशेषताएं:
- एक्सप्रेशन विधि at()
- शब्दबंध विधि at()
- रेगुलर एक्सप्रेशन /d
- Object.hasOwn()
- error.cause
- await import
- प्राइवेट विधि और फील्ड
- क्लास फील्ड घोषणा
चेतावनी
ये विशेषताएं अभी तक नई हैं。
अधिकांश ब्राउज़रों को प्रतिस्थापन कोड (Polyfill) की आवश्यकता हो सकती है
JavaScript शब्दबंध ReplaceAll()
ES2021 ने शब्दबंध replaceAll() विधि जोड़ी है:
इंस्टांस
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
replaceAll() विधि आपको एक रेगुलर एक्सप्रेशन को विकल्प के बजाय निर्दिष्ट करने की अनुमति देती है。
यदि पारामीटर एक रेगुलर एक्सप्रेशन है, तो वैश्विक संकेतक सेट करना आवश्यक है (g
अन्यथा TypeError फ्लैग उठाया जायेगा。
इंस्टांस
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
सूचना:}ES2020 स्ट्रिंग मथड स मैचअल (
JavaScript नंबरिंग सेपरेटर (_)
ES2021 नंबरिंग सेपरेटर (_
) नंबर को अधिक पढ़ाया जाने वाला बनाने के लिए दिया जाता है:
इंस्टांस
const num = 1_000_000_000;
नंबरिंग सेपरेटर केवल दृश्यमान सेवा के लिए हैं。
इंस्टांस
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
नंबरिंग सेपरेटर नंबर के किसी भी स्थान पर रखे जा सकते हैं:
इंस्टांस
const num1 = 1_2_3_4_5;
ध्यान दें
नंबरिंग सेपरेटर नंबर के शुरू या अंत में नहीं दिखाई देते हैं。
जेस्क्रिप्ट में, केवलवेरियेबलयह _ से शुरू हो सकता है।
2020 जनवरी से, सभी आधुनिक ब्राउज़र नंबरिंग सेपरेटर का समर्थन करते हैं:
क्रोम | एज | फायरफॉक्स | सफारी | ओपेरा |
---|---|---|---|---|
क्रोम 75 | एज 79 | फायरफॉक्स 74 | सफारी 13.1 | ओपेरा 67 |
2019 जून | 2020 जनवरी | 2019 अक्टूबर | 2019 सितंबर | 2019 जून |