Operator Logik dalam JavaScript: Melangkaui Keputusan Boolean
Dalam JavaScript, manakala operator logik seperti '&&' (AND) dan '|| ' (ATAU) biasanya mengembalikan hasil boolean, keadaan tertentu boleh membawa kepada pengembalian objek lain.
Untuk memahami sebabnya, adalah penting untuk memahami konsep penilaian litar pintas. Kedua-dua '&&' dan '||' ialah pengendali litar pintas, bermakna mereka berhenti menilai sebaik sahaja keputusan logik ditentukan.
Dalam ungkapan 'X || Y', 'X' dinilai dahulu. Jika 'X' ditentukan sebagai "benar", ungkapan itu mengembalikan 'X' tanpa penilaian lanjut. Di sinilah "litar pintas" dimainkan. Sebaliknya, jika 'X' adalah "palsu", 'Y' dinilai dan ungkapan itu mengembalikan 'Y'.
Begitu juga, '&&' beroperasi dengan mengembalikan hujah "benar" pertama atau hujah "palsu" terakhir.
Tangkapan timbul daripada pengendalian JavaScript terhadap kebenaran dan kepalsuan. Dalam JavaScript, nilai berikut dianggap "palsu": 'false', '0', '-0', '', 'null', 'undefined', 'NaN' dan 'document.all'.
Oleh itu, jika ungkapan dinilai sebagai "false", dan bukannya mengembalikan 'false' boolean seperti dalam versi JavaScript sebelumnya, pelaksanaan moden mengembalikan nilai sebenar yang dinilai ungkapan.
Tingkah laku ini menerangkan sebab ungkapan yang disediakan dalam soalan menyebabkan objek dikembalikan dan bukannya nilai boolean yang ketat. Jika sama ada 'obj.fn()' atau 'obj._' ditakrifkan, ia akan mengembalikan hasil ungkapan itu, kerana ia bukan antara nilai yang dianggap "palsu".
Atas ialah kandungan terperinci Bilakah Operator Logik JavaScript Mengembalikan Objek Daripada Booleans?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!