así que me he estado confundiendo acerca de este problema en particular, espero que alguien con más experiencia pueda ayudarme con esto.
¿Por qué funciona esto?
Esto agregará el valor como una clave y el valor de la clave a verdadero. Así que si dices algo como esto
const mySet = new Set() mySet.add("hello") devolverá esto: {hello: true} .
Pero si hago algo como esto fuera de las clases de ES6, más como esto:
const car = { color: "red" } car[built] = 2019 Esto dirá que la construcción no está undefined , ¿esto solo se puede usar en las clases ES6?
car[built] = 2019 construido es una variable indefinida
Cámbielo a car["built"] = 2019 o car.built = 2019
var car = {}; var built = "some key"; car[built] = true; entonces el auto es {"some key": true}
Funciona en la sintaxis de clase ya que ha definido un método que acepta una variable que se usa como clave y, por lo tanto, crea con éxito una clave en el objeto.
En la sintaxis car[built] , considera built aquí como una variable y, por lo tanto, falla en este caso.
Siempre que defina una clave utilizando la sintaxis obj[key] , la clave debe ser un valor o una cadena.