บันทึกเทคนิคของ zhaoJian

คอร์ส IT พื้นฐาน JavaScript 039_การแปลงประเภท

การเรียนรู้ / พื้นฐาน JavaScript ~2198 คำ · อ่าน 6 นาที - ครั้งที่อ่าน

การแปลงประเภทคือกระบวนการในการแปลงข้อมูลจากประเภทหนึ่งไปเป็นอีกประเภทหนึ่ง การแปลงประเภทสามารถเป็นแบบโดยนัย (ทำโดยอัตโนมัติโดยเอนจิน JavaScript) หรือแบบชัดเจน (แปลงด้วยตนเองผ่านการเขียนโค้ด)

การแปลงประเภทโดยนัย (การบังคับประเภท)

ในการดำเนินการบางอย่าง JavaScript จะแปลงประเภทโดยอัตโนมัติเพื่อทำการคำนวณหรือเปรียบเทียบ

ตัวอย่าง:

let num = 5 + "5";
console.log(num); // แสดง "55", เมื่อบวกตัวเลขกับสตริง ตัวเลขจะถูกแปลงเป็นสตริง

การแปลงประเภทแบบชัดเจน

การแปลงเป็นสตริง

ฟังก์ชัน String(): แปลงประเภทอื่นเป็นสตริง

ตัวอย่าง:

let num = 123;
let str1 = String(num); // ฟังก์ชัน String() สามารถจัดการกับ `null` หรือ `undefined`
let str2 = num.toString(); // เมธอด toString() ไม่สามารถจัดการกับ `null` หรือ `undefined`
let str3 = num + ""; // การบวกกับสตริงว่างจะได้สตริงจากการแปลงประเภทโดยนัย
console.log(str1); // แสดง "123"
console.log(str2); // แสดง "123"
console.log(str3); // แสดง "123"
การแปลงเป็นตัวเลข

ฟังก์ชัน Number(): แปลงประเภทอื่นเป็นตัวเลข

ตัวอย่าง:

let str1 = "123";
let str2 = "";
let str3 = "aaa";
let num1 = Number(str1);
let num2 = Number(str2);
let num3 = Number(str3);
let num4 = +str1;
console.log(num1); // แสดง 123
console.log(num2); // แสดง 0
console.log(num3); // แสดง NaN
console.log(num3); // แสดง 123, หากใช้เครื่องหมาย - จะแสดง -123

หมายเหตุ: หากสตริงไม่สามารถแปลงเป็นตัวเลขที่ถูกต้องได้ ผลลัพธ์จะเป็น NaN (Not a Number)

ฟังก์ชัน parseInt() และ parseFloat(): แปลง สตริง เป็นจำนวนเต็มหรือจำนวนทศนิยม

ตัวอย่าง:

let str = "42";
let num = parseInt(str);
console.log(num); // แสดง 42
let str = "3.14";
let num = parseFloat(str);
console.log(num); // แสดง 3.14
การแปลงเป็นบูลีน

ฟังก์ชัน Boolean(): แปลงประเภทอื่นเป็นค่าบูลีน

ตัวอย่าง:

let value = "Hello";
let bool1 = Boolean(value);
let bool2 = !value;
console.log(bool1); // แสดง true, สตริงที่ไม่ว่างเปล่าจะแปลงเป็น true
console.log(bool2); // แสดง true, ใช้ลอจิคัล NOT กับค่าที่ไม่ใช่บูลีนเพื่อแปลงโดยนัย (!ค่าคือ false, ใช้ !! เพื่อแปลงเป็นค่าบวก)

หมายเหตุ: 0, NaN, null, undefined, สตริงว่าง ฯลฯ (สิ่งที่ว่างเปล่า ไม่มี หรือผิดพลาด) จะถูกแปลงเป็น false ในขณะที่ค่าอื่นๆ และออบเจ็กต์จะถูกแปลงเป็น true

แชร์:

ความคิดเห็น