我可以在ES6中的对象键上使用模板字符串吗?

Hem*_*dal 2 ecmascript-6 template-strings

我可以创建一个将键值作为模板字符串传递的对象吗?

const key = 'my-key', value = 'my-value'
const obj = {
  `${key}`: value 
}
Run Code Online (Sandbox Code Playgroud)

有替代方法吗?

Mic*_*ski 16

您必须使用计算属性语法:

const key = 'my-key', value = 'my-value'
const obj = {
  [`${key}`]: value 
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果您只想将变量用作键,则可以编写[key]: value.

  • 当然,这可以而且应该简化为"{[key]:value}" (3认同)