Mari kita bicara tentang topik yang sangat menarik dan terkadang lucu dalam Javascript. Javascript dapat mengonversi tipe menurut operator dan nilai yang diterapkan operator ini. Jenis konversi pada waktu proses ini bisa sangat aneh dan mungkin memberikan hasil yang tidak diharapkan saat melakukan operasi aritmatika.

Apa fungsinya, lihat dulu contoh di bawah ini, sekarang kita akan melihatnya satu per satu.

console.log(null * 5);
// Output: 0
console.log(null - 1);
// Output: 6
console.log(NaN + 2);
// Output: 42
console.log("five" * 2);
// Output: NaN
console.log(false == 0);
// Output: true
console.log(null == undefined);
// Output: true
console.log(null == 0);
// Output: false
  • Pada baris pertama saat kita mengalikan 5 dengan nilai null maka yang dikembalikan adalah 0 karena operator perkalian javascript akan memeriksa jenis kedua operannya, dan memaksa operan tersebut ke angka jika tidak. Jadi null akan diubah menjadi 0, yang lagi-lagi menghasilkan 0.
  • Untuk operator baris kedua, minus akan berperilaku sama seperti perkalian, yaitu memaksa operan menjadi angka jika belum ada.
  • Pada pernyataan ketiga, kita memiliki operator plus (juga digunakan sebagai penggabungan string) yang akan terlihat. Jika operan pertama bertipe string maka operator kedua akan diubah menjadi string dan menggabungkan keduanya. Jika operator pertama bertipe bilangan maka operator kedua akan dipaksa menjadi bilangan tersebut dan hasilnya adalah penjumlahan dua bilangan.
  • Pada pernyataan ke-4, operator perkalian akan mengembalikan NaN Karena ia akan mencoba mengubah string tersebut menjadi angka seperti ini Angka (“lima”), yang mengembalikan NaN, dan operasi aritmatika dengan NaN akan selalu mengembalikan NaN.
  • Pada pernyataan kelima, kita memiliki operator == yang juga akan memaksa kedua operan ke tipe yang sama sehingga mengembalikan nilai true meskipun operan yang tampak berbeda. Aturan yang sama akan diterapkan pada pernyataan keenam dan ketujuh.

Semoga Anda memahami Konversi Tipe Otomatis yang bisa disebut konversi tidak disengaja Jika Anda menulisnya secara tidak sengaja🙂.