Ich kann es nicht glauben dies noch nicht veröffentlicht wurde: Verwenden Sie einfach die Pfeilnotation mit anonymer Bewertung!
Völlig nicht invasiv, spielt nicht mit dem Namespace und benötigt nur eine Zeile:
myNewObj = ((k,v)=>{o={};o[k]=v;return o;})(myKey,myValue);
Demo:
var myKey="valueof_myKey";
var myValue="valueof_myValue";
var myNewObj = ((k,v)=>{o={};o[k]=v;return o;})(myKey,myValue);
console.log(myNewObj);
nützlich in Umgebungen, die die neue {[myKey]: myValue}
Syntax noch nicht unterstützen , wie z. Ich habe es gerade auf meiner Web Developer Console überprüft - Firefox 72.0.1, veröffentlicht am 08.01.2020.
(Ich bin sicher, Sie könnten möglicherweise leistungsfähigere / erweiterbarere Lösungen oder was auch immer mit cleverem Einsatz entwickeln reduce
, aber an diesem Punkt wäre es wahrscheinlich besser, wenn Sie die Objekterstellung einfach in ihre eigene Funktion aufteilen, anstatt sie zwanghaft zu blockieren alle inline)
Nicht, dass es wichtig wäre, seit OP dies vor zehn Jahren gefragt hat, aber der Vollständigkeit halber und um zu demonstrieren, wie es genau die Antwort auf die angegebene Frage ist, werde ich dies im ursprünglichen Kontext zeigen:
var thetop = 'top';
<something>.stop().animate(
((k,v)=>{o={};o[k]=v;return o;})(thetop,10), 10
);