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
Lepaskan: 2024-12-25 14:33:10
asal
751 orang telah melayarinya

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)
Salin selepas log masuk

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
}
Salin selepas log masuk

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
}
Salin selepas log masuk

Amalan Lebih Baik:

Gunakan semakan eksplisit untuk kepalsuan sebaliknya:

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

Sintaks ES6 untuk Lalai Parameter:

function goodFunction(flagA = true) {  // Sets to true only if omitted
}
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan