Hitung nilai ekspresi berikut:
[''] == false
Pertama, kedua operan adalah tipe objek dan tipe boolean. Menurut Gambar 1, perlu untuk mengonversi tipe boolean menjadi tipe numerik, dan hasil dari konversi false menjadi numerik adalah 0, sehingga ekspresi menjadi:
[''] == 0
Kedua operan menjadi tipe objek dan tipe numerik. Menurut Gambar 1, tipe objek perlu dikonversi ke tipe asli:
Pertama, hubungi [] .valueof (). Karena metode () metode array kembali, hasilnya bukan tipe asli. Terus hubungi [] .toString ().
Untuk array, algoritma metode tostring () adalah untuk mengubah setiap elemen menjadi jenis string, dan kemudian menggabungkannya secara berurutan dengan koma ',', sehingga hasil akhirnya adalah string kosong ', yang merupakan nilai dari tipe asli.
Pada titik ini, ekspresi menjadi:
'' == 0
Kedua operan menjadi jenis string dan tipe numerik. Menurut Gambar 1, perlu untuk mengonversi tipe string ke tipe angka. Seperti yang disebutkan sebelumnya, string kosong menjadi sejumlah 0. Jadi ekspresi menjadi:
0 == 0
Sejauh ini, jenis kedua operan akhirnya sama, dan hasilnya jelas benar.