ES6: Desestructuración de objetos VII

En los literales de objeto normales puedes crear nombres de propiedades dinámicos usando valores calculados:

let key = "name"
let foo = {[key]: "bar"}

console.log(foo.name); // "bar"

Sin embargo, en la desestructuración de objetos funciona de forma un poco diferente:

let key = "foo"
let {[key]: "foo"} = {foo: "Jessie"}

console.log(foo)  // Invalid destructuring assignment target

El error anterior se debe a la cadena literal "foo". No puedes cambiar el nombre de las variables de esta forma. Puedes consultar la sección Computed object property names and destructuring de la documentación de MDN para encontrar la forma correcta.

Corrige la función para que console.log(foo) devuelva Jessie. Deja sin cambios todos los nombres de variables. Ignora la función .toString() (usada para la validación).

Ejemplo

console.log(foo) ➞ "Jessie"

Notas

Si sabes cómo usar la desestructuración de objetos, completa este desafío; de lo contrario, consulta la pestaña Recursos para ver algunos ejemplos.