Logis atau (||)
var result = true || PALSU;
Mirip dengan logika dan operasi, jika ada operan yang bukan boolean, logika atau tidak harus mengembalikan boolean; Saat ini, mengikuti aturan berikut:
□ Jika operan pertama adalah objek, operan pertama dikembalikan.
□ Jika operan pertama dievaluasi ke false, operan kedua dikembalikan.
□ Jika kedua operan adalah objek, operan pertama dikembalikan.
□ Jika kedua operan itu nol, kembalikan nol
□ Jika keduanya tidak terdefinisi, kembalikan tidak ditentukan.
□ Jika keduanya nan, kembalikan nan
Perbedaan antara "===" dan "=="
Operator Kesetaraan (==)
Operator yang sama akan secara implisit mengonversi nilai operasi dan membandingkannya:
Jika nilai operasi adalah boolean, itu dikonversi ke nilai numerik sebelum perbandingan
Jika satu nilai operasi adalah string dan nilai operasi lainnya adalah nilai numerik, string dikonversi ke nilai numerik melalui fungsi angka ()
Jika satu nilai operasi adalah objek dan yang lainnya tidak, maka metode nilai () dari objek dipanggil dan hasilnya dibandingkan sesuai dengan aturan sebelumnya
nol dan tidak ditentukan sama
Jika nilai operasi adalah NAN, perbandingan yang sama mengembalikan false
Jika kedua nilai operasi adalah objek, bandingkan apakah mereka menunjuk ke objek yang sama. Jika kedua operan menunjuk ke objek yang sama, operator yang sama mengembalikan true, jika tidak, kembalikan salah
Berikut ini dijelaskan secara terpisah:
Mari kita bicara tentang ===, ini relatif sederhana. Aturan berikut digunakan untuk menentukan apakah dua nilai === sama:
1. Jika jenisnya berbeda, mereka [tidak setara]
2. Jika keduanya adalah nilai numerik dan nilai yang sama, maka [sama]; (! Pengecualian) adalah, jika setidaknya satu dari mereka adalah Nan, maka [tidak sama]. (Untuk menentukan apakah nilai NAN, Anda hanya dapat menggunakan isnan () untuk menilai)
3. Jika keduanya adalah string dan karakter di setiap posisi adalah sama, maka [kesetaraan]; jika tidak [tidak sama].
4. Jika kedua nilai itu benar, atau keduanya salah, maka [setara].
5. Jika kedua nilai mengacu pada objek atau fungsi yang sama, maka [kesetaraan]; jika tidak [tidak sama].
6. Jika kedua nilai itu nol, atau keduanya tidak terdefinisi, maka [sama].
Mari kita bicara tentang ==, sesuai dengan aturan berikut:
1. Jika kedua jenis nilainya sama, buat === Perbandingan.
2. Jika kedua jenis nilai berbeda, mereka mungkin sama. Konversi jenis dilakukan sesuai dengan aturan berikut dan kemudian dibandingkan:
A. Jika satu nol dan yang lainnya tidak terdefinisi, maka [sama].
B. Jika satu adalah string dan yang lainnya adalah nilai numerik, ubah string menjadi nilai numerik dan kemudian bandingkan.
C. Jika ada nilai yang benar, konversinya menjadi 1 dan bandingkan; Jika ada nilai yang salah, konversinya ke 0 dan bandingkan.
D. Jika satu objek dan yang lainnya adalah numerik atau string, ubah objek menjadi nilai jenis dasar dan kemudian bandingkan. Konversi objek ke tipe dasar dan gunakan metode tostring atau nilai. Kelas bawaan inti JS akan mencoba untuk menghargai sebelum tostring; Pengecualian adalah Tanggal, yang menggunakan konversi Tostring. Objek inti non-JS, katakanlah (lebih merepotkan, saya tidak banyak mengerti)
e. Kombinasi lainnya [tidak setara].
Nilai ekspresi nilai ekspresi ekspresi
null == undefinedtruetrue == 1True
"Nan" == nanfalse $ null == 0False
false == 0Truenan! = Nantrue
Singkatnya, "==" hanya membutuhkan nilai yang sama. "===" mensyaratkan bahwa nilai dan jenisnya sama.
Informasi tersebut berasal dari pemrograman lanjutan JavaScript, diselesaikan dan diperbarui nanti