¿Qué significan los corchetes alrededor del nombre de una propiedad en un literal de objeto?
Llevo un tiempo escribiendo en JS y no he usado este formulario:
dist: {
files: {
[bpr + 'lib/Monster.min.js']: ['<%= concat.dist.dest %>']
}
}
}
el
[]:[]
Funciona, solo que no lo he usado ni visto antes.
Recientemente con ES6. Se denominan "nombres de propiedad calculados".
De MDN :
A partir de ECMAScript 2015, la sintaxis del inicializador de objetos también admite nombres de propiedades calculados. Eso le permite poner una expresión entre paréntesis
[]
, que se calculará como el nombre de la propiedad.
En ES6, el corchete es parte del sistema operativo, el objeto literal cuando se utilizan pares de claves calculados.
Por ejemplo:-
Problema Debajo de la cadena "clave" multiplicada por 5 se genera una clave calculada llamada "clave"*5, ahora sin usar corchetes esto da como resultado un error de sintaxis
const newObject = {
"key"*5:"value"
}
La solución La solución será utilizar un corchete antes de utilizar una propiedad calculada como clave.
const newObject = {
["key"*5]:"value"
}
Para obtener más referencia sobre cómo crear objetos, consulte este enlace.