Avatar ·

¿Cómo establecer el nombre de una clave de objeto a través de una variable en JavaScript?

¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con un problema al trabajar con objetos. Necesito crear un objeto donde el nombre de la clave (propiedad) se tome de una variable, no sea una string estática. Esto es lo que intento hacer: tengo una variable `keyName` que contiene la string "userName". Quiero crear un objeto donde la clave sea el valor de esa variable y el valor sea "John". Lo intenté así: ```javascript let keyName = "userName"; let obj = { keyName: "John" }; console.log(obj); // { keyName: "John" } ``` Pero como resultado la clave se llama `keyName`, no `userName`. Es decir, JavaScript usa el nombre de la variable como nombre de la clave, no su valor. Entiendo que esto no es lo que necesito. Necesito que la clave sea dinámica, es decir, quiero obtener el objeto `{ userName: "John" }`. ¿Cómo se hace? He oído que en ES6 hay algunas features para esto, pero no estoy seguro. Por favor, indíquenme la sintaxis correcta. También agradecería si explican por qué mi código no funciona.