Search code examples
ecmascript-6template-strings

Can I use Template String on object key in ES6?


Can I create an object passing the key value as template string?

const key = 'my-key', value = 'my-value'
const obj = {
  `${key}`: value 
}

Is there an alternative to do this?


Solution

  • You have to use computed property syntax:

    const key = 'my-key', value = 'my-value'
    const obj = {
      [`${key}`]: value 
    }
    

    Note that if you just want to use a variable as key, you can write [key]: value.