मुझे विश्वास नहीं हो रहा है कि यह अभी तक पोस्ट नहीं किया गया है: अनाम मूल्यांकन के साथ सिर्फ तीर-संकेतन का उपयोग करें!
पूरी तरह से गैर-इनवेसिव, नेमस्पेस के साथ गड़बड़ नहीं करता है, और यह सिर्फ एक लाइन लेता है:
myNewObj = ((k,v)=>{o={};o[k]=v;return o;})(myKey,myValue);
डेमो:
var myKey="valueof_myKey";
var myValue="valueof_myValue";
var myNewObj = ((k,v)=>{o={};o[k]=v;return o;})(myKey,myValue);
console.log(myNewObj);
वातावरण में उपयोगी जो {[myKey]: myValue}
अभी तक नए वाक्यविन्यास का समर्थन नहीं करते हैं , जैसे कि - जाहिरा तौर पर; मैंने इसे अपने वेब डेवलपर कंसोल- फ़ायरफ़ॉक्स 72.0.1 पर सत्यापित किया, जो 2020-01-08 को जारी किया गया था।
(मुझे यकीन है कि आप संभावित रूप से कुछ और अधिक शक्तिशाली / एक्स्टेंसिबल समाधान या जो कुछ भी हो सकता है कि चतुर उपयोग शामिल कर सकते हैं reduce
, लेकिन उस बिंदु पर आप अनिवार्य रूप से ठेला के बजाय ऑब्जेक्ट-क्रिएशन को अपने स्वयं के फ़ंक्शन में तोड़कर बेहतर सेवा करेंगे) सभी इनलाइन)
ऐसा नहीं है कि यह तब से मायने रखता है जब ओपी ने दस साल पहले यह पूछा था, लेकिन पूर्णता के लिए और यह प्रदर्शित करने के लिए कि यह वास्तव में पूछे गए प्रश्न का उत्तर कैसे है , मैं इसे मूल संदर्भ में दिखाऊंगा:
var thetop = 'top';
<something>.stop().animate(
((k,v)=>{o={};o[k]=v;return o;})(thetop,10), 10
);