¿Qué significan los corchetes alrededor del nombre de una propiedad en un literal de objeto?

Resuelto cade galt asked hace 8 años • 0 respuestas

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.

cade galt avatar Jan 17 '16 02:01 cade galt
Aceptado

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.

Matt avatar Jan 16 '2016 19:01 Matt

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.

Justine Mahinyila avatar May 23 '2021 12:05 Justine Mahinyila