Pengendali kesaksamaan di kalangan pengendali perbandingan mempunyai pengenalan terperinci:
SAMA(==)
Pengendali perbandingan akan menukar jenis dua jenis operan yang berbeza dan kemudian melakukan perbandingan yang ketat. Apabila kedua-dua operan ialah objek, JavaScript membandingkan rujukan dalaman mereka dan adalah sama jika dan hanya jika rujukan mereka menghala ke objek (kawasan) yang sama dalam ingatan, iaitu, alamat rujukan mereka dalam memori tindanan adalah sama.
Semua yang dinyatakan di atas adalah betul, kerana dalam [1] == [1], kedua-dua tatasusunan adalah objek yang berbeza, jadi mereka tidak sama.
Apabila nilai yang dibandingkan ialah nilai rujukan, ia akan membandingkan sama ada kedua-dua nilai adalah objek yang sama dalam ingatan [1] dan [1] di sini adalah berbeza, jadi ia adalah palsu
Pengendali kesaksamaan di kalangan pengendali perbandingan mempunyai pengenalan terperinci:
Semua yang dinyatakan di atas adalah betul, kerana dalam [1] == [1], kedua-dua tatasusunan adalah objek yang berbeza, jadi mereka tidak sama.
JavaScript
中,数组是Object
。这一语句通过字面量创建了两个
Array
, mereka adalah objek yang berbeza, jadi mereka tidak sama.2 Objek tatasusunan bukan objek yang sama.
Apabila nilai yang dibandingkan ialah nilai rujukan, ia akan membandingkan sama ada kedua-dua nilai adalah objek yang sama dalam ingatan [1] dan [1] di sini adalah berbeza, jadi ia adalah palsu
Ecma-262.pdf
7.2.13 Abstrak Perbandingan Kesaksamaan
已经明确说明了,这里的
[1] = [1]
实际是[1] === [1]
正好试用第。Perbandingan x == y, dengan x dan y adalah nilai, menghasilkan benar atau salah. Perbandingan sedemikian dilakukan seperti berikut:
Jika Jenis(x) adalah sama dengan Jenis(y), maka a. Kembalikan keputusan melakukan Perbandingan Kesaksamaan Tegas x === y.
KepadaPrimitif(y).
== y.
Jenis objek akan membandingkan alamat memori Jika alamat berbeza, ia adalah palsu