Rumah >hujung hadapan web >tutorial js >Apakah Perbezaan Antara `==` dan `===` dalam Perbandingan Kesamaan JavaScript?

Apakah Perbezaan Antara `==` dan `===` dalam Perbandingan Kesamaan JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-25 00:12:12376semak imbas

What's the Difference Between `==` and `===` in JavaScript Equality Comparisons?

Memahami Nuansa Operator Kesaksamaan dalam JavaScript

Pengaturcara JavaScript biasanya menghadapi operator == dan === apabila membandingkan kesamaan pembolehubah. Walau bagaimanapun, penyelaman yang lebih mendalam ke dalam pengendali ini mendedahkan perbezaan penting.

Single vs. Triple Equals

Operator single equals (==) melaksanakan "kesetaraan longgar", bermakna ia memaksa jenis data yang berbeza (cth., nombor dan rentetan) kepada jenis biasa sebelum perbandingan. Ini boleh membawa kepada hasil yang tidak dijangka, seperti yang dilihat dalam contoh berikut:

0 == false  // true (0 coerced to false)
"1" == 1    // true (1 coerced to "1")

Sebaliknya, pengendali triple equals (===) menguatkuasakan "kesamaan ketat", yang memerlukan kedua-dua nilai dan jenis sepadan dengan tepat . Oleh itu, dalam contoh di atas, 0 === false dan "1" === 1 akan mengembalikan false.

Operator Penafian Berganda

JavaScript juga menyediakan penolakan berganda operator != dan !==, yang masing-masing menafikan hasil == dan ===. Ia digunakan dalam situasi di mana ketidaksamaan adalah perbandingan yang diingini.

Operator Kesaksamaan Tambahan

Tiada pengendali kesaksamaan lain dalam JavaScript selain ==, ===, ! =, dan !==. Walau bagaimanapun, perlu diingat bahawa JavaScript juga mempunyai operator perbandingan objek, seperti .equals() untuk membandingkan objek dalam cara berorientasikan objek.

Atas ialah kandungan terperinci Apakah Perbezaan Antara `==` dan `===` dalam Perbandingan Kesamaan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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