Menambah Ahli Secara Bersyarat pada Objek dalam JavaScript
Soalan: Bagaimanakah saya boleh menambah ahli secara dinamik pada objek, bergantung pada syarat tertentu, dalam JavaScript?
Awal Pendekatan:
Satu pendekatan mudah ialah menggunakan pernyataan if untuk menambah ahli jika syarat dipenuhi:
var a = {}; if (someCondition) a.b = 5;
Penyelesaian Idiomatik:
Untuk menulis kod yang lebih idiomatik dan ringkas, elakkan daripada menggunakan undefined sebagai nilai untuk ahli bersyarat. Sebaliknya, gunakan operator ternary bersyarat:
a = { b: (someCondition? 5 : undefined) };
Walau bagaimanapun, pendekatan ini masih menyebabkan ahli b ditakrifkan dengan nilai yang tidak ditentukan jika syarat tidak dipenuhi.
ES6 Penyelesaian dengan Logik DAN:
Untuk kes umum dengan berbilang ahli, ES6 memperkenalkan penyelesaian pintar menggunakan operator spread dan penilaian logik DAN litar pintas:
const a = { ...(someCondition && {b: 5}) }
Operator logik DAN (&&) menilai kepada palsu jika mana-mana operannya adalah palsu. Memandangkan undefined adalah palsu dalam JavaScript, jika someCondition adalah palsu, objek {b: 5} tidak disertakan dalam operator spread, dengan berkesan menghalang ahli b daripada ditambahkan pada objek.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Ahli Secara Bersyarat pada Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!