Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencipta Objek JavaScript dengan Nama Harta Dinamik pada Runtime?

Bagaimanakah Saya Boleh Mencipta Objek JavaScript dengan Nama Harta Dinamik pada Runtime?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 13:15:13622semak imbas

How Can I Create JavaScript Objects with Dynamic Property Names at Runtime?

Menggunakan Nama Harta Dinamik untuk Penciptaan Objek

Dalam pengaturcaraan, ia boleh berguna untuk mencipta objek dengan nama sifat yang tidak diketahui sehingga masa jalan. Artikel ini menangani cabaran untuk memulakan objek dengan nama kunci tidak langsung (bukan literal).

Masalah: Nama Harta Statik

Secara tradisinya, objek JavaScript dimulakan dengan nama sifat tetap dan literal:

var myAppConfig = {
    iconMap: {
        "phone-type": "icon-phone",
        "agent-type": "icon-headphones"
    }
};

Walau bagaimanapun, dalam senario tertentu, nama sifat dinamik diperlukan. Sebagai contoh, nama sifat mungkin disimpan dalam objek yang berbeza.

Menggunakan Nama Harta Berkomputer ES6

Jika anda menggunakan ES6 atau transpiler seperti Babel, anda boleh menggunakan nama harta yang dikira:

var iconMap = {
    [KEYS.PHONE_TYPE]: 'icon-phone',
    [KEYS.AGENT_TYPE]: 'icon-headphones'
};

Dalam sintaks ini, nama sifat disertakan dalam kurungan segi empat sama dan dinilai sebagai satu ungkapan. Nilai KEYS.PHONE_TYPE digunakan sebagai nama sifat untuk pasangan nilai kunci pertama.

Output:

Akibatnya, objek iconMap akan dimulakan dengan nama sifat dinamik yang dijangkakan :

{
    'phone-type': 'icon-phone',
    'agent-type': 'icon-headphones'
}

Pendekatan ini membolehkan anda mencipta objek dengan nama harta bukan literal pada masa jalan, memberikan lebih banyak fleksibiliti dan kebolehsuaian kod.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Objek JavaScript dengan Nama Harta Dinamik pada Runtime?. 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