Rumah  >  Artikel  >  hujung hadapan web  >  Apakah Gelagat Bukan Boolean || Operator?

Apakah Gelagat Bukan Boolean || Operator?

Barbara Streisand
Barbara Streisandasal
2024-10-18 10:50:04657semak imbas

What is the Non-boolean Behavior of the || Operator?

Memahami Gelagat Bukan Boolean || Operator

The || (logik ATAU, garis menegak berganda) ialah alat serba boleh dalam pengaturcaraan, tetapi tingkah lakunya boleh mengejutkan apabila bekerja dengan operan bukan boolean.

Dalam contoh yang disediakan:

var $time = Date.now || function() {
  return +new Date;
};

|| operator tidak digunakan untuk penilaian boolean tipikalnya. Sebaliknya, ia bertindak sebagai pengendali "lalai", memperuntukkan nilai fungsi Date.now kepada $time jika ia wujud dan kembali kepada fungsi tanpa nama yang mengembalikan masa semasa sebagai nilai angka.

Tingkah laku ini berpunca daripada fakta bahawa || operator menilai kepada operan pertama jika ia benar (bukan palsu, batal, tidak ditentukan, rentetan kosong, atau nombor 0). Jika operan pertama adalah palsu, ia menilai kepada operan kedua.

Dalam JavaScript, tatasusunan dan objek dianggap sebagai nilai kebenaran, walaupun ia bukan jenis data boolean. Ini membolehkan || operator berfungsi sebagai cara yang mudah untuk menyediakan nilai lalai untuk operan bukan boolean.

Contohnya:

var array1 = [] || [1, 2, 3]; // array1 will be assigned [1, 2, 3]
var object1 = {} || { name: "John Doe" }; // object1 will be assigned { name: "John Doe" }

Memahami gelagat bukan boolean || operator adalah penting untuk menggunakannya secara berkesan dalam kod JavaScript. Dengan memanfaatkan kefungsian pengendali "lalai", pembangun boleh menetapkan nilai lalai dengan mudah kepada pembolehubah bukan boolean dan memastikan pengendalian data yang hilang atau palsu dengan bijak.

Atas ialah kandungan terperinci Apakah Gelagat Bukan Boolean || Operator?. 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