Rumah >hujung hadapan web >tutorial js >Bagaimanakah Rantaian Pilihan dan Penggabungan Nullish Meningkatkan Akses Harta Selamat Null dan Penyerahan Bersyarat dalam ES6 ?
NULL-safe Property Access and Conditional Assignment in EcmaScript 6
Keupayaan untuk mengakses sifat objek yang mungkin batal atau tidak ditentukan tanpa menyebabkan ralat dirujuk sebagai akses harta selamat nol. Tugasan bersyarat, sebaliknya, membenarkan nilai ditetapkan hanya jika syarat tertentu dipenuhi.
Dalam EcmaScript 6 , beberapa pengendali menyokong kedua-dua akses harta selamat nol dan tugasan bersyarat.
Perangkaian Pilihan (?.)
Diperkenalkan pada ES2020, rantaian pilihan membolehkan mengakses sifat objek yang mungkin batal atau tidak ditentukan tanpa pengecualian. Ia menggunakan ?. operator, yang mengembalikan tidak ditentukan dan bukannya menimbulkan ralat:
const query = succeed => (succeed ? { value: 4 } : undefined); let value = 3; for (let x of [true, false]) { value = query(x)?.value; } console.log(value); // Output: 4
Penugasan Penggabungjalinan Batal (??=)
Pengendali tugasan penggabungan batal (??=) memberikan nilai kepada pembolehubah hanya jika nilai semasa adalah batal atau tidak ditentukan. Ia mengembalikan hasil tugasan:
let value = 3; value ??= query(false)?.value; console.log(value); // Output: 3
Keserasian
Perantaian pilihan disokong dalam penyemak imbas moden utama dan versi Node.js, manakala penugasan penggabungan batal disokong dalam pelayar dan Node.js v14 . Untuk persekitaran yang lebih lama, pertimbangkan untuk menggunakan Babel atau polyfill.
Alternatif
Sebelum pengendali ini, penyelesaian termasuk:
Kesimpulan
Perantaian pilihan dan penugasan penyatuan batal menyediakan alat yang berkuasa untuk akses harta null-safe yang ringkas dan tugasan bersyarat dalam EcmaScript 6 . Ia memudahkan kod, meningkatkan kebolehbacaan dan mengurangkan potensi ralat.
Atas ialah kandungan terperinci Bagaimanakah Rantaian Pilihan dan Penggabungan Nullish Meningkatkan Akses Harta Selamat Null dan Penyerahan Bersyarat dalam ES6 ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!