Kata -kata sebelumnya
Operator logis melakukan operasi boolean pada operan dan sering digunakan bersama dengan operator relasional. Operator logis menggabungkan beberapa ekspresi relasional menjadi ekspresi yang lebih kompleks. Operator logis dibagi menjadi tiga jenis: logis non-'!', Logis dan '&&', logis atau '||'. Artikel ini akan memperkenalkan ketiga operator logis ini.
Non-logis logis
Non-operator logis diwakili oleh tanda seru (!) Dan dapat diterapkan pada nilai apa pun dalam ecmascript. Terlepas dari tipe data nilai ini, operator ini mengembalikan nilai boolean. Non-operator logis pertama-tama mengubah operannya menjadi nilai boolean dan kemudian membalikkannya.
Jenis konversi operan non-pasangan logis ke tipe boolean sama dengan fungsi transformasi boolean (), kecuali bahwa hasilnya terbalik pada akhirnya. Jika dua non-operator logis digunakan pada saat yang sama, perilaku fungsi transformasi boolean () sebenarnya akan disimulasikan.
console.log (!! tidak terdefinisi); // falseconsole.log (!! null); // falseconsole.log (!! 0); // falseconsole.log (!!-0); // falseconsole.log (!! nan); // falseconsole.log (!! ''); // falsole
console.log (!! {}); // trueconsole.log (!! []); // trueconsole.log (!! boolean baru (false)); // trueconsole.log (!! false); // falseconsole.log (!! new boolean (null)); // truecoleNon-operator logis sering digunakan untuk mengontrol loop
// Boolean Variable (BFound) digunakan untuk merekam apakah pencarian berhasil. Ketika item data dalam pertanyaan ditemukan, Bfound akan diatur ke true ,! Bfound akan sama false, artinya menjalankan akan melompat keluar dari loop sementara var bfound = false; var i = 0; while (! Bfound) {if (avalue [i] == vsearchValues) {bfound = true; } else {i ++; }}Logika dan
Logika dan operator diwakili oleh dua jumlah (&&). Ada dua operan. Hasilnya akan mengembalikan true hanya jika kedua operan itu benar, jika tidak salah akan dikembalikan.
// Tabel Kebenaran Logistik dan (&&), Operan Pertama, Hasil Operand Kedua Benar Benar Benar Benar Salah Salah Salah Salah Salah Salah Salah Salah
Logika dan operasi dapat diterapkan pada semua jenis operan, bukan hanya boolean. Jika salah satu operan bukan boolean, maka logika dan operasi tidak harus mengembalikan nilai boolean
Logika dan operasi adalah operasi hubung singkat. Jika operan pertama dapat menentukan hasilnya, maka operan kedua tidak akan lagi dievaluasi.
Untuk logika, jika operan pertama salah, tidak peduli apa nilai operan kedua, hasilnya salah, maka operan pertama dikembalikan; Jika operan pertama benar, maka hasil yang benar dan salah dari hasilnya sama dengan yang benar dan salah dari operan kedua, maka operan kedua dikembalikan.
// Kecuali untuk tujuh nilai palsu dari palsu, tidak terdefinisi, null, +0, -0, nan, dan '', sisanya adalah semua nilai sejati console.log ('t' && ''); // Karena 't' adalah nilai sebenarnya, ia mengembalikan '' console.log ('t' && 'f'); // Karena 't' adalah nilai sebenarnya, ia mengembalikan 'f'console.log (' t '&&' '); // karena 't' adalah nilai sebenarnya, ia mengembalikan '' console.log ('' && ''); // Karena '' adalah nilai palsu, ia mengembalikan '' 'console.log (' '&&' '); // Karena '' adalah nilai palsu, ia mengembalikan '' '' console.log ('' && ''); // Karena '' adalah nilai yang salah, itu mengembalikan '' ''var i = 1; var result = (true && i ++); console.log (hasil, i); // karena true adalah nilai yang benar, jalankan i ++, i adalah 2, hasilnya adalah 1var i = 1; var result = (false && i ++); console.log (hasil, i); // karena false adalah nilai palsu, i ++); Hasilnya adalah found
Logika dan operator dapat digunakan dalam berbagai cara, mengembalikan nilai ekspresi boolean pertama dengan false
console.log (true && 'foo' && '' && 4 && 'foo' && true); // ''
Prioritas operator relasional lebih tinggi dari pada logika dan (&&) dan logika atau (||), sehingga ekspresi yang serupa dapat ditulis secara langsung tanpa menambahkan tanda kurung.
if (a+1 == 2 && b+2 == 3) {// TODO}Logika dan operator dapat digunakan alih -alih jika struktur
if (a == b) {dosomething ();} // setara dengan (a == b) && dosomething ();Logika dan operator sering digunakan dalam fungsi panggilan balik
// Jika nilainya tidak diteruskan ke parameter A, a adalah default yang tidak ditentukan dan merupakan nilai yang salah, jadi A () tidak dieksekusi untuk mencegah kesalahan. Jika nilainya diteruskan ke parameter a, fungsi fungsi a () fn (a) {if (a) {a (); }} // setara dengan fungsi fn (a) {a && a ();}Logis atau
Logis atau operator diwakili oleh dua garis vertikal (||). Ada dua operan. Hanya ketika kedua operan salah akan hasilnya akan dikembalikan false, jika tidak benar akan dikembalikan.
// Logistik atau (||) Tabel Kebenaran, Operan Pertama, Hasil Operan Kedua Benar Benar Benar Benar Salah Benar Benar Salah Salah Salah Salah Salah Salah Salah Salah
Demikian juga, logika atau operasi dapat diterapkan pada semua jenis operan, bukan hanya boolean. Jika salah satu operan bukan boolean, logika atau operasinya tidak harus mengembalikan nilai boolean
Logika atau operasi juga merupakan operasi hubung singkat. Jika operan pertama dapat menentukan hasilnya, maka operan kedua tidak akan lagi dievaluasi.
Untuk logika atau, jika operan pertama benar, hasilnya benar terlepas dari nilai operan kedua, dan operan pertama dikembalikan; Jika operan pertama salah, hasil yang benar dan salah dari hasilnya sama dengan yang benar dan salah dari operan kedua, operan kedua dikembalikan.
console.log ('t' || ''); // karena 't' adalah nilai sebenarnya, ia mengembalikan "t" console.log ('t' || 'f'); // karena 't' adalah nilai sebenarnya, ia mengembalikan "t" console. nilai, itu mengembalikan ""var i = 1; var result = (true || i ++); console.log (hasil, i); // karena true adalah nilai sebenarnya, i ++ tidak dieksekusi, hasilnya benar, i adalah 1var i = 1; var result = (false || i ++); console.log (hasil, i); // Karena false adalah nilai false, i ++); console.log (i);/karena false adalah nilai false, i adalah 2,
Demikian pula, logika atau operator dapat digunakan dalam gabungan ganda untuk mengembalikan nilai ekspresi boolean pertama.
console.log (false || 0 || '' '|| 4 ||' foo '|| true); // 4
Logis atau operator sering digunakan untuk menetapkan nilai default untuk variabel
// Jika tidak ada objek yang diteruskan ke parameter p, parameter diatur ke objek kosong dengan fungsi default fn (p) {p = p || {};}Di atas adalah analisis lengkap dari operator JavaScript - operator logis yang dibawa kepada Anda oleh editor. Saya harap semua orang akan mendukung wulin.com ~