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
678 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!

sumber:php.cn
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