Adakah yang bisa menjelaskan bagaimana mengapa / bagaimana metode di bawah ini menetapkan kunci dalam JavaScript bekerja?
a = "b"
c = {[a]: "d"}
kembali:
Object {b: "d"}
sumber
Adakah yang bisa menjelaskan bagaimana mengapa / bagaimana metode di bawah ini menetapkan kunci dalam JavaScript bekerja?
a = "b"
c = {[a]: "d"}
kembali:
Object {b: "d"}
Ini adalah sintaks nama properti penghitung ES2015 (spesifikasi EcmaScript secara resmi dikenal sebagai ES6) . Ini adalah singkatan dari someObject[someKey]
tugas yang Anda ketahui dari ES3 / 5:
var a = "b"
var c = {[a]: "d"}
adalah gula sintaksis untuk:
var a = "b"
var c = {}
c[a] = "d"
Benar-benar penggunaan []
memberikan cara terbaik untuk menggunakan nilai aktual variabel sebagai properti kunci saat membuat objek JavaScript ./
Saya cukup puas dengan jawaban di atas dan saya menghargainya karena memungkinkan saya untuk menulis ini dengan sedikit contoh.
Saya telah mengeksekusi kode baris demi baris pada 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' }
>
const animalSounds = {cat: 'meow', dog: 'bark'};
const animal = 'lion';
const sound = 'roar';
{...animalSounds, [animal]: sound};
Hasilnya akan seperti itu
{cat: 'meow', dog: 'bark', lion: 'roar'};
Juga, hanya kondisi untuk menggunakan []
notasi untuk mengakses atau menugaskan barang-barang dalam objek ketika kita belum tahu apa itu sampai evaluasi atau runtime.