Rumah > Artikel > hujung hadapan web > tidak sama dalam javascript
Pengendali ketaksamaan (!=) dalam JavaScript ialah operator yang biasa digunakan untuk membandingkan sama ada dua nilai adalah sama. Sepadan dengan pengendali yang sama (==). Jadi dalam proses pembangunan sebenar, bagaimanakah kita harus menggunakan operator ketidaksamaan dalam JavaScript dengan betul?
Pertama sekali, kita perlu menjelaskan definisi pengendali ketidaksamaan dalam JavaScript. Operator ketaksamaan digunakan apabila membandingkan dua nilai. Mengembalikan benar jika kedua-dua nilai tidak sama; Dua nilai boleh menjadi jenis yang berbeza, tetapi akan dipaksa kepada jenis yang sama untuk perbandingan. Jika satu nilai adalah nol dan satu lagi nilai tidak ditentukan, ia adalah sama.
Memandangkan JavaScript ialah bahasa yang ditaip lemah, penukaran tersirat bagi jenis data mungkin berlaku. Oleh itu, kita perlu memberi perhatian khusus kepada masalah penukaran jenis tersirat yang mungkin timbul apabila menggunakan pengendali ketidaksamaan. Contohnya:
0 != "" // true
false != 0 // false
false != "" // true
dalam ungkapan perbandingan pertama , rentetan kosong ditukar kepada nombor 0, jadi 0 dan rentetan kosong tidak sama. Dalam ungkapan perbandingan kedua, palsu ditukar kepada nombor 0, jadi 0 dan palsu adalah sama. Dalam ungkapan perbandingan ketiga, rentetan kosong ditukar kepada nilai Boolean palsu, jadi palsu dan rentetan kosong tidak sama.
Oleh itu, apabila menggunakan pengendali ketidaksamaan, kita harus mencuba yang terbaik untuk memastikan jenis data kedua-dua nilai adalah sama untuk mengelakkan masalah penukaran jenis tersirat.
Selain itu, apabila membandingkan dua objek, pengendali ketaksamaan membandingkan alamat rujukannya dan bukannya sifat objek tersebut. Oleh itu, dua objek tidak sama walaupun mereka mempunyai sifat yang sama tetapi adalah contoh objek yang berbeza. Contohnya:
var obj1 = {
name: "Tom"
};
var obj2 = {
name: "Tom"
};
console.log(obj1 != obj2) ; // true
Walaupun objek obj1 dan obj2 mempunyai nama atribut yang sama dan nilai atribut juga sama, ia adalah contoh objek yang berbeza dan alamat rujukannya juga berbeza, jadi ia tidak sama dengan apa yang dikembalikan oleh operator.
Akhir sekali, kita harus sedar tentang beberapa isu prestasi yang berpotensi apabila menggunakan pengendali ketidaksamaan. Oleh kerana pengendali ketidaksamaan mengalami penukaran jenis tersirat, prestasinya mungkin terjejas. Untuk sejumlah besar operasi perbandingan, kami boleh menggunakan operator yang sama dengan (===) dan bukannya operator yang tidak sama. Ini boleh mengelakkan masalah penukaran jenis tersirat dan meningkatkan prestasi kod.
Ringkasnya, pengendali ketidaksamaan dalam JavaScript ialah pengendali yang biasa digunakan, tetapi kita perlu memberi perhatian kepada masalah penukaran jenis tersirat yang mungkin berlaku apabila menggunakannya dan cuba memastikan bahawa kedua-dua perbandingan adalah nilai mempunyai jenis data yang sama. Di samping itu, kita juga harus ambil perhatian bahawa apabila melakukan sejumlah besar operasi perbandingan, menggunakan operator yang sama boleh meningkatkan prestasi kod dan mengelakkan masalah penukaran jenis tersirat.
Atas ialah kandungan terperinci tidak sama dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!