Rumah >hujung hadapan web >tutorial js >Bagaimanakah Rantaian Pilihan dan Penggabungan Nullish Memudahkan Akses Harta Null-Safe dalam JavaScript?
EcmaScript 6 menawarkan pengendali yang berkuasa untuk menyelaraskan akses hartanah dan penetapan bersyarat dengan cara yang ringkas dan cekap.
Dalam JavaScript yang lebih lama versi, logik yang diingini boleh dicapai menggunakan blok cuba/tangkap:
const query = succeed => (succeed ? { value: 4 } : undefined); let value = 3; for (let x of [true, false]) { try { value = query(x).value; } catch {} // Don´t assign if no .value } console.log(value); // Outputs: 4
Kini, dengan rantaian pilihan, logik ini boleh dipermudahkan dengan ketara:
const query = succeed => (succeed ? { value: 4 } : undefined); let value = 3; for (let x of [true, false]) { value = query(x)?.value; // Assign only if `.value` exists } console.log(value); // Outputs: 4
The ?. operator menyemak sama ada query(x) bukan nol dan tidak ditentukan, dan hanya kemudian mengakses sifat nilai. Jika query(x) adalah null atau undefined, ia mengembalikan undefined tanpa membuang ralat.
Untuk nilai nullable, nullish coalescing operator (??) boleh digunakan:
const query = succeed => (succeed ? { value: 4 } : undefined); let value = 3; for (let x of [true, false]) { value ??= query(x).value; // Assign only if `value` is null or undefined } console.log(value); // Outputs: 4
The ?? operator membandingkan operan kiri kepada null atau undefined, dan jika benar, berikan operan kanan. Dalam kes ini, nilai akan dikemas kini hanya jika ia pada mulanya batal atau tidak ditentukan.
Perhatikan bahawa pengendali ini disokong dalam penyemak imbas moden dan boleh digunakan dengan Babel untuk keserasian merentas penyemak imbas.
Atas ialah kandungan terperinci Bagaimanakah Rantaian Pilihan dan Penggabungan Nullish Memudahkan Akses Harta Null-Safe dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!