ฉันไม่อยากจะเชื่อว่าสิ่งนี้ยังไม่ได้โพสต์: เพียงใช้สัญลักษณ์ลูกศรพร้อมการประเมินแบบไม่ระบุชื่อ!
ไม่มีการบุกรุกอย่างสมบูรณ์ไม่ยุ่งกับเนมสเปซและใช้เพียงบรรทัดเดียว:
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}
ไวยากรณ์เช่น - ชัดเจน ฉันเพิ่งตรวจสอบแล้วบนคอนโซลนักพัฒนาเว็บ - Firefox 72.0.1, เปิดตัว 2020-01-08
(ฉันแน่ใจว่าคุณสามารถสร้างโซลูชันที่มีประสิทธิภาพ / ขยายได้มากขึ้นหรืออะไรก็ตามที่เกี่ยวข้องกับการใช้งานอย่างชาญฉลาดreduce
แต่ ณ จุดนั้นคุณอาจได้รับการบริการที่ดีขึ้นโดยการแยกการสร้างวัตถุออกเป็นฟังก์ชันของตัวเอง ทั้งหมดในบรรทัด)
ไม่ว่าเรื่องตั้งแต่ OP ถามนี้สิบปีที่ผ่านมา แต่เพื่อความสมบูรณ์ประโยชน์และเพื่อแสดงให้เห็นถึงวิธีการที่จะว่า ตอบคำถามตามที่ระบุไว้ฉันจะแสดงนี้ในบริบทเดิม:
var thetop = 'top';
<something>.stop().animate(
((k,v)=>{o={};o[k]=v;return o;})(thetop,10), 10
);