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).
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.
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.
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!