Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menggunakan Pembolehubah sebagai Kunci Objek dalam Literal Objek JavaScript?

Bagaimanakah Saya Boleh Menggunakan Pembolehubah sebagai Kunci Objek dalam Literal Objek JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-12-27 01:36:10987semak imbas

How Can I Use Variables as Object Keys in JavaScript Object Literals?

Menggunakan Pembolehubah sebagai Kekunci Objek dalam Literal JavaScript

Dalam JavaScript, adalah mungkin untuk mentakrifkan literal objek menggunakan pasangan nilai kunci. Walau bagaimanapun, apabila cuba menggunakan pembolehubah sebagai kunci, had tertentu wujud.

Pertimbangkan coretan kod berikut:

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

Kod ini berjaya mengemas kini sifat CSS "atas" sesuatu elemen . Walau bagaimanapun, apabila cuba menggunakan pembolehubah sebaliknya:

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

kod gagal. Sebabnya ialah literal objek memerlukan kunci untuk disertakan dalam petikan tunggal atau berganda, manakala nama pembolehubah tidak boleh.

ES5 dan Terdahulu:

Dalam ES5 dan versi terdahulu JavaScript, tidak ada cara mudah untuk menggunakan pembolehubah sebagai kunci objek secara langsung. Satu penyelesaian adalah untuk mencipta objek kosong literal dan kemudian menetapkan pembolehubah kepada kekunci yang dikehendaki:

var thetop = "top";

// Create the object literal
var aniArgs = {};

// Assign the variable property name with a value of 10
aniArgs[thetop] = 10; 

// Pass the resulting object to the animate method
<something>.stop().animate(
    aniArgs, 10  
);  

ES6 dan Kemudian:

ES6 memperkenalkan sintaks ComputedPropertyName, yang membenarkan penggunaan ungkapan pembolehubah sebagai kunci objek:

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

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

Sintaks ini membenarkan untuk kod yang lebih bersih dan ringkas, terutamanya apabila berurusan dengan kekunci objek dinamik. Ia disokong dalam versi moden semua penyemak imbas utama.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah sebagai Kunci Objek dalam Literal Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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