Kesilapan Penukaran Jenis JavaScript Biasa dan Cara Membetulkannya

Patricia Arquette
Lepaskan: 2024-11-19 00:52:02
asal
467 orang telah melayarinya

Common JavaScript Type Conversion Mistakes and How to Fix Them

Penukaran Jenis JavaScript Biasa dan Output Tidak Dijangkanya

Pengenalan kepada Penukaran Jenis JavaScript

Penukaran jenis JavaScript boleh membingungkan bagi pemula. JavaScript secara automatik menukar antara jenis data yang berbeza semasa operasi tertentu, yang boleh membawa kepada hasil yang tidak dijangka. Memahami cara penukaran jenis berfungsi adalah penting untuk menulis kod yang bersih dan bebas pepijat. Panduan ini akan membimbing anda melalui pelbagai jenis penukaran dalam JavaScript, menerangkan konsep dan menunjukkan kepada anda output yang mungkin anda jangkakan.


Memahami jenis dalam JavaScript

Sebelum menyelam ke dalam penukaran, mari mulakan dengan memahami cara JavaScript mengenal pasti jenis data. JavaScript menggunakan typeof untuk mengembalikan jenis pembolehubah atau nilai.

console.log(typeof null);        // "object"
console.log(typeof undefined);   // "undefined"
Salin selepas log masuk
Salin selepas log masuk

Penjelasan:

  • null: Dalam JavaScript, typeof null mengembalikan "objek", yang merupakan ralat dalam bahasa tetapi kekal untuk keserasian ke belakang. Walaupun demikian, null ialah primitif yang mewakili ketiadaan sebarang nilai.
  • undefined: Jenis ini digunakan apabila pembolehubah telah diisytiharkan tetapi tidak diberikan nilai. Ia secara langsung mengembalikan "tidak ditentukan" apabila digunakan dengan jenis.

Menukar Rentetan kepada Nombor

JavaScript menyediakan fungsi Number() untuk menukar nilai kepada jenis nombor. Jom tengok beberapa kes.

Contoh 1: Menukar Rentetan Angka

let score = "33";            // Type: string
let valueInNum = Number(score);
console.log(typeof score);    // "string"
console.log(typeof valueInNum); // "number"
console.log(valueInNum);      // 33
Salin selepas log masuk

Penjelasan:

  • Apabila rentetan angka (cth., "33") dihantar ke Number(), JavaScript berjaya menukarnya kepada jenis nombor.
  • typeof menunjukkan bahawa skor pada asalnya adalah rentetan, manakala valueInNum kini ialah nombor dengan nilai 33.

Contoh 2: Menukar Rentetan Bukan Nombor

let scoreStr = "33abc";       // Type: string
let valueInNum1 = Number(scoreStr);
console.log(typeof valueInNum1); // "number"
console.log(valueInNum1);      // NaN
Salin selepas log masuk

Penjelasan:

  • Apabila fungsi Number() digunakan pada rentetan bukan angka seperti "33abc", JavaScript tidak boleh menukarnya menjadi nombor. Sebaliknya, ia mengembalikan NaN, yang bermaksud "Not-a-Number." Tingkah laku ini membantu menandakan penukaran nombor tidak sah.

Menukar Null kepada Nombor

Nilai nol JavaScript juga boleh ditukar kepada nombor. Inilah yang berlaku:

let scoreNull = null;
let valueInNull = Number(scoreNull);
console.log(typeof valueInNull); // "number"
console.log(valueInNull);       // 0
Salin selepas log masuk

Penjelasan:

  • Menukar null kepada nombor mengembalikan 0. JavaScript menganggap null sebagai nilai kosong, yang dalam istilah berangka ialah 0.

Penukaran Boolean dengan Boolean()

Dalam JavaScript, pelbagai nilai boleh ditukar kepada nilai boolean, dengan benar atau palsu sebagai output. Ini amat berguna dalam pernyataan bersyarat.

Contoh: Nilai Benar dan Salah

let isLoggedIn = 1;
let boolInNum = Boolean(isLoggedIn);
console.log(boolInNum);        // true
Salin selepas log masuk

Penjelasan:

  • JavaScript menganggap 1 sebagai benar, manakala 0 dianggap palsu. Jadi, Boolean(1) kembali benar.
  • Nilai palsu lain dalam JavaScript termasuk 0, "" (rentetan kosong), null, undefined dan NaN. Sebarang nilai lain (seperti rentetan bukan kosong) akan ditukar kepada benar.

Berikut ialah beberapa contoh tambahan nilai kebenaran dan palsu:

console.log(typeof null);        // "object"
console.log(typeof undefined);   // "undefined"
Salin selepas log masuk
Salin selepas log masuk

Penjelasan:

  • 0, "", null, undefined dan NaN semuanya dinilai palsu.
  • Sebarang rentetan bukan kosong (mis., "dagu2") dianggap benar.

Penukaran Jenis Biasa dalam JavaScript: Ringkasan

JavaScript menggunakan paksaan untuk menukar nilai antara jenis mengikut keperluan. Berikut ialah ringkasan ringkas penukaran biasa:

Value Conversion Function Resulting Type Example Output
"33" Number("33") number 33
"33abc" Number("33abc") number NaN
null Number(null) number 0
1 Boolean(1) boolean true
0 Boolean(0) boolean false
"" (empty) Boolean("") boolean false
"hello" Boolean("hello") boolean true

Soalan Lazim tentang Penukaran Jenis JavaScript

S: Mengapa jenis null mengembalikan "objek"?

J: Ini adalah pepijat yang telah lama wujud dalam JavaScript. Pada mulanya, null bertujuan untuk menjadi objek pemegang tempat tetapi mengekalkan klasifikasi ini untuk keserasian dengan kod yang lebih lama.

S: Apakah nilai yang dianggap palsu dalam JavaScript?

A: 0, "" (rentetan kosong), null, undefined dan NaN ialah nilai palsu dalam JavaScript, bermakna nilai tersebut dinilai kepada false apabila ditukar kepada boolean.

S: Apakah maksud NaN dalam JavaScript?

J: NaN bermaksud "Bukan-Nombor" dan hasil daripada operasi nombor tidak sah, seperti cuba menukar "33abc" kepada nombor.

Kesimpulan

Memahami penukaran jenis dalam JavaScript adalah penting untuk bekerja dengan pembolehubah dan melaksanakan manipulasi data. Dengan membiasakan diri anda dengan typeof dan kesan fungsi penukaran seperti Number() dan Boolean(), anda boleh mengelakkan pepijat dan menulis kod yang lebih dipercayai. Teruskan mengamalkan konsep ini dengan contoh yang berbeza, dan tidak lama lagi ia akan menjadi sifat kedua dalam perjalanan pengaturcaraan JavaScript anda.

Atas ialah kandungan terperinci Kesilapan Penukaran Jenis JavaScript Biasa dan Cara Membetulkannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan