Sisipan Ahli Bersyarat dalam Objek JavaScript: Penyelesaian Moden
Manakala pendekatan tradisional menambah ahli secara bersyarat pada objek dengan menggunakan pernyataan if adalah mudah, ia boleh menjadi unidiomatik dan bertele-tele. Penyelesaian yang lebih elegan ialah memanfaatkan operator ternary bersyarat ?: dalam literal objek. Walau bagaimanapun, pendekatan ini menghasilkan nilai ahli yang tidak ditentukan apabila keadaan dinilai sebagai palsu.
Untuk menyelesaikan isu ini, penyelesaian yang lebih mantap ialah menggunakan operator hamparan (...) bersama-sama dengan penilaian logik DAN litar pintas . Teknik ini membolehkan kemasukan bersyarat berbilang ahli dalam satu ungkapan:
const a = { ...(someCondition1 && {b: 5}), ...(someCondition2 && {c: 6}), ...(someCondition3 && {d: 7}), // ... and so on };
Dalam senario ini, pengendali hamparan mengembangkan literal objek ke dalam sifat individu dalam objek tertutup a. Operator logik DAN && memastikan bahawa setiap sifat hanya disertakan jika keadaan sepadannya dinilai kepada benar.
Pendekatan ini mengelakkan nilai sifat tidak ditentukan dengan memaksa syarat palsu kepada tidak ditentukan melalui penilaian litar pintas. Akibatnya, objek yang terhasil hanya akan mengandungi sifat yang sepadan dengan syarat yang dipenuhi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Ahli Secara Bersyarat pada Objek JavaScript Secara Elegan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!