Rumah  >  Artikel  >  hujung hadapan web  >  Apakah yang dilakukan oleh \"options = options || {}\" dalam JavaScript?

Apakah yang dilakukan oleh \"options = options || {}\" dalam JavaScript?

DDD
DDDasal
2024-11-03 12:38:31549semak imbas

What does

Memahami "options = options || {}" dalam JavaScript

Apabila menemui coretan kod seperti "options = options || {} ;", ia menimbulkan persoalan tentang fungsinya. Coretan ini selalunya digunakan untuk menetapkan nilai lalai untuk argumen fungsi.

Inti ungkapan ini terletak pada operator logik OR (||). Operator ini menilai operannya mengikut tertib, mengembalikan nilai kebenaran pertama yang ditemuinya atau nilai terakhir jika semuanya palsu. Dalam kes ini, "pilihan" dinilai terlebih dahulu. Jika "pilihan" palsu (tidak ditentukan, batal, 0, "", dsb.), ia dinilai palsu dan ungkapan menjadi "pilihan || {}".

"{}" ialah JavaScript objek literal, mewakili objek kosong. Oleh itu, jika "pilihan" pada mulanya tidak ditentukan, ungkapan ini memberikan objek kosong kepada pembolehubah "pilihan". Jika "pilihan" sudah wujud, penilaian berhenti kerana "pilihan" ialah nilai yang benar.

Corak ini digunakan untuk memulakan argumen fungsi dengan nilai lalai apabila ia dihantar sebagai tidak ditentukan. Contohnya:

function test(options) {
  options = options || {};
}

Apabila fungsi ini dipanggil tanpa hujah, "pilihan" diberikan objek kosong. Jika "pilihan" diluluskan secara eksplisit sebagai tidak ditentukan, ia juga mengambil nilai lalai.

Kemas Kini ES6

ES6 memperkenalkan nilai parameter lalai, menjadikan ungkapan ini usang untuk menetapkan lalai . Dalam ES6, anda boleh menetapkan nilai lalai menggunakan sintaks berikut:

function test(options = {}) {
  //...
}

Dengan sintaks ini, jika "pilihan" diluluskan sebagai tidak ditentukan atau ditetapkan secara eksplisit kepada tidak ditentukan, ia memerlukan nilai lalai objek kosong . Tidak seperti || corak operator, nilai palsu lain tidak akan mencetuskan penggunaan nilai lalai.

Atas ialah kandungan terperinci Apakah yang dilakukan oleh \"options = options || {}\" 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