Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Menetapkan Nama Harta Secara Dinamik dalam Literal Objek JavaScript?

Bagaimanakah Saya Menetapkan Nama Harta Secara Dinamik dalam Literal Objek JavaScript?

Susan Sarandon
Lepaskan: 2024-12-23 04:20:22
asal
821 orang telah melayarinya

How Do I Dynamically Assign Property Names in JavaScript Object Literals?

Memahami Gelagat Literal Objek dalam JavaScript

Apabila bekerja dengan literal objek dalam JavaScript, pembangun mungkin menghadapi situasi di mana mentakrifkan nama sifat secara dinamik adalah wajar. Walau bagaimanapun, ini boleh menyebabkan kekeliruan jika tingkah laku yang dimaksudkan tidak difahami.

Pertimbangkan contoh yang disediakan:

<something>.stop().animate(
    { 'top' : 10 }, 10
);
Salin selepas log masuk

Dalam kes ini, kod berjaya memberikan sifat 'atas' kepada nilai 10 dalam literal objek. Ini kerana nama sifat dilampirkan dalam petikan tunggal, menunjukkan rentetan literal sebagai kunci sifat.

Sebaliknya, apabila menggunakan pembolehubah sebagai nama sifat:

var thetop = 'top';
<something>.stop().animate(
    { thetop : 10 }, 10
);
Salin selepas log masuk

Kod gagal kerana JavaScript tidak menyokong nama sifat yang dijana secara dinamik untuk literal objek dengan cara ini. Sebelum ES5, satu-satunya cara untuk mencapai ini adalah dengan membina objek literal secara manual dengan memberikan nilai kepada nama sifat pembolehubah:

var thetop = "top";
var aniArgs = {};
aniArgs[thetop] = 10;
<something>.stop().animate(
    aniArgs, 10
);
Salin selepas log masuk

Walau bagaimanapun, dengan pengenalan ES6, pembangun kini mempunyai akses kepada Computed Nama Harta untuk literal objek. Menggunakan sintaks baharu ini, nama sifat boleh ditentukan secara dinamik sebagai ungkapan yang disertakan dalam kurungan segi empat sama:

var thetop = "top";
var obj = { [thetop]: 10 };

console.log(obj.top); // -> 10
Salin selepas log masuk

Sintaks ini membolehkan pembangun mencipta literal objek dengan nama sifat yang ditetapkan secara dinamik, sama seperti contoh asal dengan rentetan literal sebagai kunci harta.

Atas ialah kandungan terperinci Bagaimanakah Saya Menetapkan Nama Harta Secara Dinamik dalam Literal Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan