Rumah >hujung hadapan web >tutorial js >Operator `||` JavaScript: Bagaimanakah Ia Berbeza daripada OR Logik Piawai?

Operator `||` JavaScript: Bagaimanakah Ia Berbeza daripada OR Logik Piawai?

Susan Sarandon
Susan Sarandonasal
2024-12-25 14:33:10672semak imbas

JavaScript's `||` Operator:  How Does it Differ from a Standard Logical OR?

Logik ATAU Operator (||) lwn. Varian JavaScript

Memahami Operator Paip Berganda (||)

Dalam kebanyakan bahasa pengaturcaraan, pengendali paip berganda (||) mewakili operator OR logik. Ia menilai dua nilai Boolean dan mengikut peraturan ini:

  • Jika nilai pertama palsu, ia menyemak nilai kedua. Jika benar, ia kembali benar; jika tidak, palsu.
  • Jika nilai pertama adalah benar, ia akan kembali benar tanpa mengira nilai kedua.

Tafsiran JavaScript

Walau bagaimanapun , JavaScript mengendalikan || berbeza kerana ia adalah bahasa yang ditaip longgar. Ini bermakna:

  • Nilai Bukan Boolean: JavaScript membenarkan penggunaan || dengan nilai bukan Boolean. Jika nilai adalah false (mis., 0, "", null), ia dianggap sebagai palsu; sebaliknya, sebagai benar.
  • Pengubahsuaian Keputusan: JavaScript's || operator mengembalikan nilai kedua jika nilai pertama palsu; jika tidak, ia mengembalikan nilai pertama.

Contoh:

(function(){}) || {}  // True (empty function is truthy)

Penggunaan Praktikal dalam JavaScript

Fungsi Lalai Parameter:

function (title, msg) {
  var title = title || 'Error';  // Assigns 'Error' if title is falsy
  var msg = msg || 'Error on Request';  // Assigns 'Error on Request' if msg is falsy
}

Amalan Pengaturcaraan Buruk:

Menetapkan || ungkapan terus kepada pembolehubah tidak digalakkan kerana ia menghalang nilai falsey sebagai parameter. Pertimbangkan fungsi ini:

function badFunction(flagA) {
  flagA = flagA || true;  // FlagA always becomes true, even if passed false
}

Amalan Lebih Baik:

Gunakan semakan eksplisit untuk kepalsuan sebaliknya:

function goodFunction(flagA) {
  flagA = typeof flagA !== "undefined" ? flagA : true;  // Sets to true only if undefined
}

Sintaks ES6 untuk Lalai Parameter:

function goodFunction(flagA = true) {  // Sets to true only if omitted
}

Kesimpulan:

JavaScript's || operator mempunyai tingkah laku yang unik berbanding bahasa lain. Walaupun mudah untuk menetapkan nilai lalai, ia harus digunakan dengan berhati-hati untuk mengelakkan hasil yang tidak dijangka dan penggantian nilai palsu.

Atas ialah kandungan terperinci Operator `||` JavaScript: Bagaimanakah Ia Berbeza daripada OR Logik Piawai?. 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