ईसीएमएस्क्रिप्ट 2018
जावास्क्रिप्ट नामकरण सम्मेलन ES1, ES2, ES3, ES5 और ES6 के साथ शुरू हुआ।
लेकिन, ECMAScript 2016 और 2017 को ES7 और ES8 नहीं कहा गया।
2016 के बाद से नए संस्करणों का नाम वर्ष (ईसीएमएस्क्रिप्ट 2016/2017/2018) के अनुसार रखा गया है।
ईसीएमएस्क्रिप्ट 2018 में नई सुविधाएं
यह अध्याय ईसीएमएस्क्रिप्ट 2018 में नई सुविधाओं का परिचय देता है:
जावास्क्रिप्ट अतुल्यकालिक पुनरावृत्ति
ईसीएमएस्क्रिप्ट 2018 ने एसिंक्रोनस इटरेटर और इटरेटर्स जोड़े।
अतुल्यकालिक पुनरावृत्तियों के साथ, हम लूप
await
में कीवर्ड का उपयोग कर सकते हैं।for/of
उदाहरण
for await () {}
फ़ायरफ़ॉक्स और सफारी जावास्क्रिप्ट एसिंक्रोनस पुनरावृत्ति के समर्थन वाले पहले ब्राउज़र थे:
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
Dec 2017 | Jan 2020 | Nov 2017 | Sep 2017 | Jan 2018 |
जावास्क्रिप्ट वादा।आखिरकार
ईसीएमएस्क्रिप्ट 2018 वादा वस्तु के पूर्ण कार्यान्वयन को अंतिम रूप देता है Promise.finally
:
उदाहरण
let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();
क्रोम और फायरफॉक्स निम्नलिखित के समर्थन वाले पहले ब्राउज़र थे Promise.finally
:
Chrome 63 | Edge 18 | Firefox 58 | Safari 11.1 | Opera 50 |
Dec 2017 | Nov 2018 | Jan 2018 | Mar 2018 | Jan 2018 |
जावास्क्रिप्ट वस्तु बाकी गुण
ईसीएमएस्क्रिप्ट 2018 ने बाकी गुण जोड़े।
यह हमें एक वस्तु को नष्ट करने और एक नई वस्तु पर बचे हुए को इकट्ठा करने की अनुमति देता है:
उदाहरण
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }
क्रोम, फ़ायरफ़ॉक्स, उत्तर ओपेरा ऑब्जेक्ट रेस्ट गुणों के समर्थन वाले पहले ब्राउज़र थे:
Chrome 60 | Edge 79 | Firefox 55 | Safari 11.1 | Opera 47 |
Jul 2017 | Jan 2020 | Aug 2017 | Mar 2018 | Aug 2017 |
नई जावास्क्रिप्ट RegExp विशेषताएं
ECMAScript 2018 में 4 नई RegExp विशेषताएं जोड़ी गई हैं:
- यूनिकोड संपत्ति एस्केप (\p{...})
- लुकबिहाइंड अभिकथन (?<= ) और (?<! )
- नामांकित कैप्चर समूह
- s (dotAll) झंडा
सभी नई RegExp सुविधाओं के समर्थन के साथ क्रोम और फ़ायरफ़ॉक्स पहले ब्राउज़र थे:
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Jan 2018 | Jan 2020 | Jun 2020 | Sep 2018 | Feb 2018 |