Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Pandangan terperinci pada penukaran jenis dalam JavaScript
JavaScript ialah bahasa pengaturcaraan yang sangat fleksibel yang menyokong pelbagai jenis data Sebarang penukaran jenis (sebarang penukaran jenis) adalah salah satu masalah yang sering dihadapi dalam JavaScript.
Jenis data dalam JavaScript boleh dibahagikan kepada jenis primitif dan jenis objek termasuk nombor, rentetan, nilai Boolean, null dan undefined, dan jenis objek termasuk Objek, Fungsi, Array, dsb.
Sebarang jenis data boleh ditukar kepada jenis data lain menggunakan peraturan penukaran jenis tertentu perlu dipatuhi semasa proses penukaran ini.
Di bawah ini kami akan memperkenalkan penukaran jenis dalam JavaScript secara terperinci.
JavaScript menyediakan beberapa fungsi terbina dalam yang boleh menukar sebarang jenis data kepada jenis data lain. Fungsi ini boleh digunakan seperti fungsi biasa, seperti yang ditunjukkan di bawah:
// 将数字转换为字符串 var num = 123; var str = num.toString(); // str 将会是 "123" // 将字符串转换为数字 var str = "123"; var num = Number(str); // num 将会是 123 // 将字符串转换为布尔值 var str = "123"; var bool = Boolean(str); // bool 将会是 true
Dalam fungsi ini, toString(), Number(), dan Boolean() digunakan untuk penukaran jenis eksplisit.
Dalam JavaScript, anda juga boleh melakukan penukaran jenis eksplisit menggunakan operator cast (seperti +, -, ++, --, dll.).
Apabila melakukan penukaran jenis eksplisit, anda perlu memberi perhatian kepada perkara berikut:
var num = 123; var str = "456"; var result = num + str; // result 将会是 "123456"
var str = "123"; var bool = true; var result = str + bool; // result 将会是 "123true"
var num = 123; var bool = true; var result = num + bool; // result 将会是 124
Dalam JavaScript, sesetengah pengendali dan fungsi secara tersirat menukar satu jenis data kepada yang lain.
Apabila rentetan dan nombor dibandingkan atau dikendalikan, JavaScript akan secara automatik menukar rentetan itu kepada nombor dan kemudian melakukan perbandingan atau operasi. Kod sampel adalah seperti berikut:
var str = "123"; var num = 456; var result1 = str + num; // result1 将会是 "123456" var result2 = num + str; // result2 将会是 "456123"
Dalam kod di atas, simbol + boleh digunakan untuk menyambung rentetan atau menambah nombor Disebabkan pengendalian rentetan dan nombor, JavaScript akan menukar rentetan secara automatik. menjadi nombor, jadi hasil akhir ialah rentetan.
Dalam JavaScript, apabila nilai Boolean mengambil bahagian dalam perbandingan atau operasi, nilai Boolean akan ditukar secara automatik kepada jenis angka untuk perbandingan atau operasi. Benar bertukar kepada 1, Salah bertukar kepada 0. Kod sampel adalah seperti berikut:
var num = 5; var bool1 = num == true; // bool1 将会是 false var bool2 = num == false; // bool2 将会是 false var bool3 = num > false; // bool3 将会是 true
Dalam JavaScript, sesetengah operasi akan mencetuskan penukaran jenis secara automatik.
Dalam JavaScript, semua jenis bukan boolean dalam pernyataan if, for, while, dsb. akan mencetuskan penukaran jenis secara automatik.
Mari berikan contoh di bawah:
Dalam JavaScript, bukan Boolean menaip pernyataan if akan mencetuskan penukaran jenis secara automatik. Apabila jenis bukan Boolean digunakan sebagai syarat, JavaScript memanggil fungsi Boolean() untuk menukarnya kepada jenis nilai Boolean.
Contoh berikut menggambarkan penukaran jenis bukan Boolean dalam pernyataan if kepada jenis Boolean:
if (null) { console.log("null is true"); } else { console.log("null is false"); } if (undefined) { console.log("undefined is true"); } else { console.log("undefined is false"); } if (0) { console.log("0 is true"); } else { console.log("0 is false"); } if ("") { console.log("'' is true"); } else { console.log("'' is false"); }
Hasil output adalah seperti berikut:
null is false undefined is false 0 is false '' is false
Daripada yang di atas keputusan output Ia boleh dilihat bahawa apabila jenis bukan Boolean digunakan dalam pernyataan if, ia perlu ditukar kepada jenis Boolean sebelum membuat pertimbangan.
Dalam JavaScript, jenis bukan boolean dalam untuk gelung akan mencetuskan penukaran jenis secara automatik. Apabila jenis bukan Boolean digunakan sebagai syarat dalam gelung for, JavaScript memanggil fungsi Boolean() untuk menukarnya kepada jenis nilai Boolean.
Contoh berikut menggambarkan penukaran jenis bukan Boolean dalam gelung for kepada jenis Boolean:
for(var i=0; i<=10; i++) { if(i) { console.log(i); } }
Hasil output adalah seperti berikut:
1 2 3 4 5 6 7 8 9 10
Daripada keputusan keluaran di atas Dapat dilihat bahawa dalam gelung for, jenis bukan Boolean juga boleh ditukar kepada jenis Boolean dan kemudian dinilai.
Dalam JavaScript, jenis bukan boolean dalam gelung while akan mencetuskan penukaran jenis secara automatik. Apabila jenis bukan Boolean digunakan sebagai syarat dalam gelung sementara, JavaScript memanggil fungsi Boolean() untuk menukarnya kepada jenis nilai Boolean.
Contoh berikut menggambarkan penukaran jenis bukan Boolean dalam gelung while kepada jenis Boolean:
var i = 0; while(i < 10) { i++; if(i%2) { console.log(i + "是奇数"); } else { console.log(i + "是偶数"); } }
Hasil output adalah seperti berikut:
1是奇数 2是偶数 3是奇数 4是偶数 5是奇数 6是偶数 7是奇数 8是偶数 9是奇数 10是偶数
Anda boleh lihat daripada hasil keluaran di atas Dalam gelung while, jenis bukan Boolean juga boleh ditukar kepada jenis Boolean dan kemudian dinilai.
Dalam JavaScript, sebarang penukaran jenis perlu mengikut peraturan tertentu. Semasa proses penukaran jenis, anda perlu memberi perhatian kepada beberapa perkara utama:
Di atas adalah pengenalan terperinci kepada mana-mana jenis penukaran dalam JavaScript. Saya harap ia dapat memberi anda sedikit bantuan.
Atas ialah kandungan terperinci Pandangan terperinci pada penukaran jenis dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!