Rumah >hujung hadapan web >tutorial js >Bagaimanakah Rantaian Pilihan dan Penggabungan Nullish Meningkatkan Tugasan Bersyarat dalam JavaScript?

Bagaimanakah Rantaian Pilihan dan Penggabungan Nullish Meningkatkan Tugasan Bersyarat dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-12-21 01:27:10844semak imbas

How Do Optional Chaining and Nullish Coalescing Improve Conditional Assignments in JavaScript?

Pilihan Rantaian dan Tugasan Bersyarat dalam EcmaScript 6

Dalam usaha untuk memudahkan tugasan bersyarat dan akses harta selamat nol, EcmaScript 6 memperkenalkan beberapa pengendali untuk meningkatkan kecekapan kod dan kebolehbacaan.

Perantaian Pilihan (ECMAScript 2020)

Perantaian pilihan, diwakili oleh ?. operator, membolehkan traversal selamat bagi sifat-sifat boleh batal. Dalam contoh anda, anda boleh memudahkan baris 4 menggunakan rantaian pilihan:

const query = succeed => (succeed ? { value: 4 } : undefined);

let value = 3;
for (let x of [true, false]) {
  value = query(x)?.value;
}
// Output: 4

Tugasan Penggabungjalinan Batal (ECMAScript 2021)

Untuk penugasan bersyarat, pengendali tugasan penggabungan batal ??= boleh guna. Ia memberikan nilai kepada operan kiri hanya jika operan itu menilai kepada null atau undefined. Ini mengelakkan keperluan untuk sekatan cuba-tangkap atau semakan nol eksplisit:

query(x)?.value ??= value;

Pertimbangan dan Alternatif

  • Kesesuaian Sasaran: Penugasan rantaian pilihan dan penggabungan batal disokong dalam penyemak imbas moden dan EcmaScript 2020 dan 2021, masing-masing. Gunakan "Bolehkah Saya Gunakan" (https://caniuse.com/) untuk menyemak keserasian bagi persekitaran tertentu.
  • Pemalam Babel: Untuk persekitaran yang lebih lama, pemalam Babel boleh digunakan untuk mentranspile operator ini ke dalam sintaks yang serasi.
  • Alternatif CoffeeScript: Idiom CoffeeScript pertanyaan(x).nilai jika pertanyaan(x)?.nilai? mencapai kelakuan yang sama tetapi melibatkan pengulangan.
  • Akses Harta Objek: Dalam kes di mana anda menetapkan sifat objek, pengendali ??= memastikan penetapan hanya berlaku jika harta itu belum ditetapkan . Ini mengelakkan panggilan setter yang tidak perlu.
  • Abstraksi Fungsi: Abstraksi logik ke dalam fungsi tidak mungkin kerana penetapan bersyarat tidak boleh dinyatakan semata-mata dalam panggilan fungsi.

Atas ialah kandungan terperinci Bagaimanakah Rantaian Pilihan dan Penggabungan Nullish Meningkatkan Tugasan Bersyarat dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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