Rumah >hujung hadapan web >tutorial js >Bagaimanakah ES6 Computed Properties Boleh Menyelesaikan Cabaran Permulaan Objek Dinamik?

Bagaimanakah ES6 Computed Properties Boleh Menyelesaikan Cabaran Permulaan Objek Dinamik?

Barbara Streisand
Barbara Streisandasal
2024-12-02 01:16:101036semak imbas

How Can ES6 Computed Properties Solve Dynamic Object Initialization Challenges?

Menggunakan Nama Harta Dinamik dalam Permulaan Objek dengan ES6

Cabaran untuk mencipta objek dengan nama sifat yang diperoleh daripada sumber luaran sering timbul dalam pengaturcaraan. Dalam senario yang diterangkan dalam pertanyaan kami, kami cuba membina objek JavaScript dengan sifat yang kuncinya ditakrifkan dalam pembolehubah berasingan, KEYS.

Walau bagaimanapun, apabila memberikan nilai kepada sifat dalam objek, kami menghadapi ralat disebabkan oleh penggunaan operator titik (.). Pengendali ini dikhaskan untuk nama sifat objek literal dan tidak boleh digunakan dengan nama sifat dinamik.

Untuk menangani isu ini, kami beralih kepada kuasa ES6 (EcmaScript 2016), tambahan terbaru pada piawaian JavaScript yang memperkenalkan lebih banyak lagi. sintaks dan ciri ekspresif. Salah satu ciri ini ialah sintaks sifat terkira, yang membolehkan kami mentakrifkan nama sifat secara dinamik.

Menggunakan sintaks sifat terkira, kami boleh menulis semula kod seperti berikut, yang akan berjaya mencipta objek dengan sifat dinamik yang diingini names:

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

Dalam kod ini, kurungan segi empat sama ([]) di sekeliling nama hartanah menunjukkan bahawa kami sedang menggunakan sintaks harta yang dikira. Ungkapan di dalam kurungan menilai kepada nama sifat dinamik, yang diambil daripada pembolehubah KEYS.

Atas ialah kandungan terperinci Bagaimanakah ES6 Computed Properties Boleh Menyelesaikan Cabaran Permulaan Objek Dinamik?. 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