Risposte:
È la nuova sintassi del nome della proprietà calcolata ES2015 (la specifica EcmaScript formalmente nota come ES6) . È una scorciatoia per il someObject[someKey]compito che conosci da ES3 / 5:
var a = "b"
var c = {[a]: "d"}
è zucchero sintattico per:
var a = "b"
var c = {}
c[a] = "d"
In realtà l'uso di []offre un modo eccellente per utilizzare il valore effettivo della variabile come proprietà chiave durante la creazione di oggetti JavaScript ./
Sono praticamente soddisfatto della risposta di cui sopra e lo apprezzo perché mi ha permesso di scrivere questo con un piccolo esempio.
Ho eseguito il codice riga per riga su Node REPL (Node shell).
> var key = "fullName"; // Assignment
undefined
>
> var obj = {key: "Rishikesh Agrawani"} // Here key's value will not be used
undefined
> obj // Inappropriate, which we don't want
{ key: 'Rishikesh Agrawani' }
>
> // Let's fix
undefined
> var obj2 = {[key]: "Rishikesh Agrawani"}
undefined
> obj2
{ fullName: 'Rishikesh Agrawani' }
>
Inoltre, unica condizione per utilizzare la []notazione per accedere o assegnare cose negli oggetti quando non sappiamo ancora cosa sarà fino alla valutazione o al runtime.