Gelagat Menarik JavaScript dengan Operator Plus dan Tolak
Pengendalian JavaScript bagi operator tambah ( ) dan tolak (-) apabila digunakan pada rentetan dan nombor sering membingungkan pengaturcara. Artikel ini akan merungkai teka-teki, meneroka sebab pengendali ini berkelakuan berbeza dalam senario sedemikian.
Pertimbangkan kod berikut:
console.log("1" + 1); // Prints "11" console.log("1" - 1); // Prints "0"
Untuk memahami sebab JavaScript menghasilkan output ini, kita perlu menyelidiki sifat pengendali dan jenis data yang terlibat.
String Concatenation dengan Plus ( ) Operator
Apabila operator tambah ( ) digunakan pada rentetan, seperti "1", dan nombor, ia melakukan penggabungan rentetan. Dalam proses ini, nombor itu ditukar kepada rentetan, dan dua rentetan itu dilampirkan bersama. Oleh itu, dalam contoh pertama, "1" digabungkan dengan "1" untuk menghasilkan "11".
Penolakan Nombor dengan Operator Tolak (-)
Pada Sebaliknya, operator tolak (-) tidak boleh digunakan pada rentetan secara langsung. Apabila rentetan ditemui, JavaScript cuba menukarnya menjadi nombor. Walau bagaimanapun, jika penukaran gagal, seperti dalam contoh kedua, hasilnya ialah NaN (Bukan-Nombor). Untuk mengelakkan ini, JavaScript memaksa rentetan "1" menjadi nombor, menghasilkan penolakan 1 daripada 1, yang menghasilkan 0.
Atas ialah kandungan terperinci Mengapa JavaScript Bertindak Berbeza dengan Operator Plus dan Tolak Apabila Digunakan dengan Rentetan dan Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!