如何以更优雅的方式重写哈希赋值

How to rewrite hash assignement in more elegant way

本文关键字:方式 重写 哈希 赋值      更新时间:2023-09-26

在我的代码中,我使用

callMethodWithHash({ 'key': "value" });

一切正常,直到"键"分配给另一个变量(键持有人(。在这种情况下,显而易见的解决方案:

var keyHolder = 'key';
callMethodWithHash(keyHolder: "value");

不起作用(如何在哈希中将变量值分配为变量名称?

var keyHolder = 'key';
var hash = {};
hash[keyHolder] = "value";
callMethodWithHash(hash);

我正在学习JS,想开发一个好的风格,但感觉这3行是不必要的长。

有没有更有效的方法来创建和传递哈希?

谢谢。

var keyHolder = "key",
    hash = { [keyHolder]: "value" };
console.log(hash); 

请记住,这仅在 ES6 中可用。您始终可以在此处看到其兼容性。在这种特殊情况下,您应该查看计算属性名称功能,它在对象文本扩展部分中,称为:计算属性