Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menambah Ahli Secara Bersyarat pada Objek JavaScript Secara Elegan?

Bagaimanakah Saya Boleh Menambah Ahli Secara Bersyarat pada Objek JavaScript Secara Elegan?

Barbara Streisand
Lepaskan: 2024-12-19 21:40:12
asal
907 orang telah melayarinya

How Can I Conditionally Add Members to JavaScript Objects Elegantly?

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
};
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan