Avatar ·

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.