ईसीएमएस्क्रिप्ट 2017
जावास्क्रिप्ट नामकरण सम्मेलन ES1, ES2, ES3, ES5 और ES6 के साथ शुरू हुआ।
लेकिन, ECMAScript 2016 और 2017 को ES7 और ES8 नहीं कहा गया।
2016 के बाद से नए संस्करणों का नाम वर्ष (ECMAScript 2016/2017/2018) के अनुसार रखा गया है।
ईसीएमएस्क्रिप्ट 2017 में नई सुविधाएं
यह अध्याय ईसीएमएस्क्रिप्ट 2017 में नई सुविधाओं का परिचय देता है:
- जावास्क्रिप्ट स्ट्रिंग पैडिंग
- जावास्क्रिप्ट ऑब्जेक्ट.प्रविष्टियाँ
- जावास्क्रिप्ट ऑब्जेक्ट। मान
- जावास्क्रिप्ट एसिंक्स फ़ंक्शन
- जावास्क्रिप्ट साझा स्मृति
जावास्क्रिप्ट स्ट्रिंग पैडिंग
ईसीएमएस्क्रिप्ट 2017 ने दो स्ट्रिंग विधियों को जोड़ा: padStart
और padEnd
शुरुआत में और एक स्ट्रिंग के अंत में पैडिंग का समर्थन करने के लिए।
उदाहरण
let str = "5";
str = str.padStart(4,0);
// result is 0005
उदाहरण
let str = "5";
str = str.padEnd(4,0);
// result is 5000
इंटरनेट एक्सप्लोरर में स्ट्रिंग पैडिंग समर्थित नहीं है।
फ़ायरफ़ॉक्स और सफारी जावास्क्रिप्ट स्ट्रिंग पैडिंग के समर्थन वाले पहले ब्राउज़र थे:
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
Mar 2017 | Apr 2017 | Aug 2016 | Sep 2016 | Mar 2017 |
जावास्क्रिप्ट वस्तु प्रविष्टियाँ
ईसीएमएस्क्रिप्ट 2017 Object.entries
वस्तुओं में एक नई विधि जोड़ता है।
Object.entries() विधि किसी ऑब्जेक्ट में कुंजी/मान जोड़े की एक सरणी देता है:
उदाहरण
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.entries(person);
Object.entries() लूप में ऑब्जेक्ट्स का उपयोग करना आसान बनाता है:
उदाहरण
const fruits = {Bananas:300, Oranges:200, Apples:500};
let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "
";
}
Object.entries() वस्तुओं को मानचित्रों में परिवर्तित करना भी आसान बनाता है:
उदाहरण
const fruits = {Bananas:300, Oranges:200, Apples:500};
const myMap = new Map(Object.entries(fruits));
क्रोम और फायरफॉक्स निम्नलिखित के समर्थन वाले पहले ब्राउज़र थे
Object.entries
:
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Jun 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
जावास्क्रिप्ट वस्तु मान
Object.values
के समान हैं Object.entries
, लेकिन ऑब्जेक्ट मानों का एकल आयाम सरणी देता है:
उदाहरण
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.values(person);
फ़ायरफ़ॉक्स और क्रोम निम्नलिखित के समर्थन वाले पहले ब्राउज़र थे
Object.values
:
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Oct 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
जावास्क्रिप्ट एसिंक फ़ंक्शन
एक टाइमआउट की प्रतीक्षा में
async function myDisplay() {
let myPromise = new Promise(function(myResolve, myReject) {
setTimeout(function() { myResolve("I love You !!"); }, 3000);
});
document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();
फ़ायरफ़ॉक्स और क्रोम एसिंक्स जावास्क्रिप्ट फ़ंक्शंस के समर्थन वाले पहले ब्राउज़र थे:
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
Dec 2016 | Apr 2017 | Mar 2017 | Sep 2017 | Dec 2016 |