Bolehkah Operator Logik OR (||) dalam JavaScript Mengendalikan Operand Bukan Boolean?

Susan Sarandon
Lepaskan: 2024-10-18 11:50:02
asal
906 orang telah melayarinya

Can the Logical OR (||) Operator in JavaScript Handle Non-Boolean Operands?

Operan Logik ATAU (||) dan Operan Bukan Boolean

Dalam JavaScript, operator OR logik (||) biasanya digunakan untuk menilai ungkapan boolean. Walau bagaimanapun, ia juga boleh digunakan pada operan bukan boolean, yang membawa kepada hasil yang tidak dijangka.

Pertimbangkan kod berikut:

<code class="javascript">var $time = Date.now || function() {
  return +new Date;
};</code>
Salin selepas log masuk

Dalam contoh ini, || operator digunakan untuk menetapkan fungsi kepada pembolehubah $time. Ungkapan menilai kepada hasil Date.now jika ia wujud (iaitu, ia bukan batal atau tidak ditentukan), jika tidak, ia melaksanakan fungsi tanpa nama, yang mengembalikan cap masa semasa.

Sebab bagi tingkah laku ini terletak pada peranan kedua || operator sebagai pengendali "lalai". Apabila kedua-dua operan bukan boolean, ia mengembalikan operan kiri jika ia benar (bukan null, undefined, rentetan kosong atau 0) dan operan kanan jika operan kiri adalah palsu.

Dalam kod yang diberikan, Date.now ialah nilai kebenaran, jadi operan kiri dikembalikan, iaitu fungsi Date.now yang asal. Walau bagaimanapun, jika Date.now tidak tersedia (mis., dalam penyemak imbas lama), operan sebelah kanan, yang merupakan fungsi tanpa nama, akan dilaksanakan sebaliknya.

Penggunaan || ini operator membenarkan pembangun untuk menentukan nilai lalai atau gelagat sandaran dengan cara yang ringkas. Sebagai contoh, kod berikut memberikan nilai kepada pembolehubah v, tetapi jika v tidak ditakrifkan, ia menetapkan nilai kepada 10:

<code class="javascript">value = v || 10;</code>
Salin selepas log masuk

Begitu juga, kod berikut melindungi daripada mengakses sifat nullable objek:

<code class="javascript">var value = p &amp;&amp; p.name;</code>
Salin selepas log masuk

Kesimpulannya, || (logik ATAU) dalam JavaScript juga boleh digunakan dengan operan bukan boolean, di mana ia menilai ke operan kiri jika ia benar, atau ke operan kanan sebaliknya. Tingkah laku ini boleh berguna untuk menentukan nilai lalai dan menulis kod selamat-null.

Atas ialah kandungan terperinci Bolehkah Operator Logik OR (||) dalam JavaScript Mengendalikan Operand Bukan Boolean?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!