การแปลงประเภทข้อมูลเป็นประเภทอื่นเรียกว่าการหล่อแบบพิมพ์ บางครั้งมีความจำเป็นต้องแปลงชนิดข้อมูลของค่าหนึ่งเป็นค่าอื่น ในบางกรณี JavaScript จะทำการแปลงประเภทอัตโนมัติ
ประเภทของ Conversion
การแปลงประเภทอัตโนมัติ
JavaScript ต้องการบูลีนในนิพจน์เงื่อนไข ดังนั้น JavaScript จะแปลงค่าในวงเล็บเป็นบูลีนชั่วคราวเพื่อประเมินนิพจน์ if −
if (val) { console.log( 'yes, val exists' ); }
ค่าต่อไปนี้ประเมินเป็นเท็จ:0, -0, '' (สตริงว่าง), NaN, ไม่ได้กำหนด และ null ค่าอื่นๆ ทั้งหมดประเมินเป็นจริง แม้กระทั่งอาร์เรย์และอ็อบเจ็กต์ว่าง
การแปลงประเภทยังดำเนินการเมื่อเปรียบเทียบค่าโดยใช้ตัวดำเนินการเท่ากับ (==) และไม่เท่ากับ (!=) ดังนั้น เมื่อคุณเปรียบเทียบตัวเลข 125 กับสตริง '125' โดยใช้ตัวดำเนินการเท่ากับ (==) นิพจน์จะประเมินว่าเป็นจริง -
console.log( 125 == '125' );
การแปลงประเภทไม่ได้ดำเนินการเมื่อใช้ตัวดำเนินการที่เหมือนกัน (===) และไม่เหมือนกัน (!==)
การแปลงประเภทที่ชัดเจน
parseInt และ parseFloat
ฟังก์ชัน parseInt จะแปลงอาร์กิวเมนต์แรกเป็นสตริง แยกวิเคราะห์สตริงนั้น จากนั้นคืนค่าจำนวนเต็มหรือ NaN
ฟังก์ชัน parseFloat() จะแยกวิเคราะห์อาร์กิวเมนต์ (แปลงเป็นสตริงก่อนถ้าจำเป็น) และส่งคืนตัวเลขทศนิยม
toString
เมธอด toString() ส่งกลับสตริงที่แสดงถึงอ็อบเจ็กต์ กล่าวคือ จะพยายามแปลงอ็อบเจ็กต์เป็นสตริง
ตัวอย่าง
let a = 1.015 console.log(a) console.log(typeof a) console.log(a.toString()) console.log(typeof a.toString())
ผลลัพธ์
1.015 number 1.015 string