Konversi tipe
Apa hasil dari expresi ini?
"" + 1 + 0
"" - 1 + 0
true + false
6 / "3"
"2" * "3"
4 + 5 + "px"
"$" + 4 + 5
"4" - 2
"4px" - 2
" -9 " + 5
" -9 " - 5
null + 1
undefined + 1
" \t \n" - 2
Pikirkan dengan baik, tulis dan bandingkan dengan jawaban.
"" + 1 + 0 = "10" // (1)
"" - 1 + 0 = -1 // (2)
true + false = 1
6 / "3" = 2
"2" * "3" = 6
4 + 5 + "px" = "9px"
"$" + 4 + 5 = "$45"
"4" - 2 = 2
"4px" - 2 = NaN
" -9 " + 5 = " -9 5" // (3)
" -9 " - 5 = -14 // (4)
null + 1 = 1 // (5)
undefined + 1 = NaN // (6)
" \t \n" - 2 = -2 // (7)
- Penambahan dengan string
"" + 1mengkonversi1ke string:"" + 1 = "1", dan kita punya"1" + 0, aturan yang sama berlaku. - Pengurangan
-(seperti kebanyakan operasi matematika) cuma berjalan dengan angka, ia mengkonversi string kosong""ke0. - Penambahan dengan string mengappend angka
5ke string. - Pengurangan selalu mengkonversi ke angka, jadi ia membuat
" -9 "menjadi angka-9(mengabaikan spasi sekitarnya). nullmenjadi0setelah konversi numerik.undefinedmenjadiNaNsetelah konversi numerik.- Karakter spasi, ialah string yang depan dan belakangnya ditrim ketika string dikonversi ke angka. Berikut seluruh string berisi karakter spasi, seperti
\t,\ndan spasi ???reguler??? di antaranya. Jadi, serupa dengan string kosong, ia menjadi0.