Is it possible to define a dynamically named property using object literal in JavaScript?

后端 未结 7 1704
南旧
南旧 2021-01-17 16:05

Consider the following

var a = {foo: \"bar\"};

Equivalent to

var a = {};
a.foo = \"bar\";

Equivalent to

7条回答
  •  没有蜡笔的小新
    2021-01-17 16:26

    As of CoffeeScript version 1.9.1 this works:

    b = "foo"
    a = "#{b}": "bar"
    

    It compiles to:

    var a, b, obj;
    
    b = "foo";
    
    a = (
      obj = {},
      obj["" + b] = "bar",
      obj
    );
    

    Try it.

提交回复
热议问题