Como definir o nome de uma chave de objeto através de uma variável em JavaScript?
Olá a todos! Comecei a estudar JavaScript recentemente e me deparei com um problema ao trabalhar com objetos. Preciso criar um objeto onde o nome da chave (propriedade) deve vir de uma variável, em vez de ser uma string estática.
Aqui está o que estou tentando fazer: tenho uma variável `keyName` que contém a string "userName". Quero criar um objeto onde a chave seja o valor dessa variável e o valor seja "John". Tentei assim:
```javascript
let keyName = "userName";
let obj = { keyName: "John" };
console.log(obj); // { keyName: "John" }
```
Mas no resultado, a chave se chama `keyName`, e não `userName`. Ou seja, o JavaScript usa o nome da variável como nome da chave, e não o seu valor. Entendo que isso não é o que preciso.
Preciso que a chave seja dinâmica, ou seja, quero obter o objeto `{ userName: "John" }`. Como fazer isso? Ouvi dizer que no ES6 existem alguns recursos para isso, mas não tenho certeza. Por favor, me indiquem a sintaxe correta. Também ficarei grato se explicarem por que meu código não funciona.