【问题标题】:How to rewrite hash assignement in more elegant way如何以更优雅的方式重写哈希分配
【发布时间】:2015-10-12 18:06:25
【问题描述】:

在我的代码中我使用

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

在将“key”分配给另一个变量(keyHolder)之前一切正常。在那种情况下明显的解决方案:

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

不起作用 (how to assign variable value as variable name in a hash?),我需要再写几行:

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

我正在学习JS,想开发一个好的样式,但是感觉这3行没必要太长。

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

谢谢。

【问题讨论】:

    标签: javascript hash coding-style naming


    【解决方案1】:
    var keyHolder = "key",
        hash = { [keyHolder]: "value" };
    
    console.log(hash); 
    

    请记住,这只能从 ES6 获得。你总是可以看到它的兼容性here。在这种特殊情况下,您应该查看 computed property name 功能,它位于 object literal extensions 部分,称为:computed properties

    【讨论】:

    • 您应该指出这使用了 ES6 特性。它不会在任何地方开箱即用。
    • 几秒钟前刚刚完成。谢谢。
    • 你能链接一个兼容性表吗?刚刚学习 JS 的人可能不知道哪些 ES6 特性在哪里起作用(我知道我不知道所有这些特性)。
    猜你喜欢
    • 2015-03-03
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2016-03-09
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多