Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Pandangan terperinci pada penukaran jenis dalam JavaScript

Pandangan terperinci pada penukaran jenis dalam JavaScript

PHPz
PHPzasal
2023-04-23 19:29:03671semak imbas

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.

Penukaran jenis eksplisit

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:

  • Apabila nombor dan rentetan ditambah, JavaScript akan menukar nombor itu kepada rentetan secara automatik, dan kemudian Lakukan penggabungan rentetan. Kod sampel adalah seperti berikut:
var num = 123;
var str = "456";
var result = num + str; // result 将会是 "123456"
  • Apabila rentetan dan nilai Boolean ditambah, JavaScript menukar nilai Boolean kepada nombor sebelum menambahkannya. Kod sampel adalah seperti berikut:
var str = "123";
var bool = true;
var result = str + bool; // result 将会是 "123true"
  • Apabila nilai Boolean ditambahkan pada nombor, JavaScript menukar nilai Boolean kepada nombor sebelum menambahkannya. Kod sampel adalah seperti berikut:
var num = 123;
var bool = true;
var result = num + bool; // result 将会是 124

Penukaran jenis tersirat

Dalam JavaScript, sesetengah pengendali dan fungsi secara tersirat menukar satu jenis data kepada yang lain.

Penukaran jenis tersirat bagi rentetan dan nombor

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.

Penukaran jenis tersirat nilai Boolean

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

Penukaran jenis automatik

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:

Penukaran jenis automatik dalam pernyataan if

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.

Penukaran jenis automatik dalam untuk gelung

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.

Penukaran jenis automatik dalam gelung while

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.

Ringkasan

Dalam JavaScript, sebarang penukaran jenis perlu mengikut peraturan tertentu. Semasa proses penukaran jenis, anda perlu memberi perhatian kepada beberapa perkara utama:

  • Jenis data dalam JavaScript termasuk jenis primitif dan jenis objek;
  • Penukaran jenis eksplisit boleh menggunakan fungsi penukaran jenis atau operator cast
  • Penukaran Jenis Tersirat ialah kaedah penukaran jenis biasa dalam JavaScript;
  • Penukaran jenis automatik bermakna bahawa jenis bukan Boolean dalam if, for, while dan pernyataan lain akan mencetuskan penukaran jenis secara automatik
  • Dalam Apabila melakukan sebarang penukaran jenis, anda perlu membayar perhatian kepada peraturan penukaran jenis untuk memastikan ketepatan kod.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn