ก่อนอื่นเนื่องจาก JavaScript เป็นภาษาที่อ่อนแอ (ภาษาประเภทอ่อนแอไม่มีประเภทที่ชัดเจนพวกเขาสามารถแปลงประเภทโดยอัตโนมัติตามสภาพแวดล้อมที่แตกต่างกันในขณะที่ประเภทที่แข็งแกร่งไม่มีกฎระเบียบดังกล่าวการดำเนินการระหว่างประเภทที่แตกต่างกันจะถูกกำหนดอย่างเคร่งครัด ตัวแปรและตัวแปรกำหนดชนิดข้อมูลโดยการทำงานที่ได้รับมอบหมาย) มีการแปลงโดยนัยที่ภาษาที่พิมพ์อย่างรุนแรงไม่มีในการแปลงประเภท JavaScript
1.1 การแปลงโดยนัยใน JavaScript (การแปลงประเภทอัตโนมัติ)
คำจำกัดความง่าย ๆ : ข้อมูลของชนิดข้อมูลที่แตกต่างกันสามารถแปลงตามประเภทข้อมูลเริ่มต้นเมื่อดำเนินการ
การแปลงโดยนัยมักจะเป็นไปตามกฎต่อไปนี้:
1. หมายเลข + สตริง: แปลงหมายเลขเป็นสตริง
var n1 = 12; // หมายเลขประเภท var n2 = "12"; // ประเภทสตริงคอนโซล log (n1+n2); // ผลลัพธ์คือ "1212" ของประเภทสตริง
2. หมายเลข + บูลีน: จริงถึง 1, เท็จถึง 0
var n1 = 12; // หมายเลขประเภท var n2 = true; // boolean type console.log (n1+n2) // ผลลัพธ์คือ 13
3. สตริง + บูลีน: ค่าบูลีนถูกแปลงเป็นจริงหรือเท็จ
var n1 = "hello"; // ประเภทสตริง var n2 = true; console.log (n1+n2); // ผลลัพธ์คือ "helloTrue" ของประเภทสตริง
4. ค่าบูลีน + ค่าบูลีน
var n1 = true; var n2 = true; console.log (n1+n2); // ผลการรันคือ 2;
สำหรับผลลัพธ์ที่ได้รับในกรณีข้างต้นเพื่อนที่ไม่แน่ใจว่าประเภทเอาต์พุตสามารถดูประเภทปัจจุบันของตัวแปรผ่านวิธี typeof ()
console.log (typeof (11)); // number console.log (typeof ("11")); // string console.log (typeof (true)); // boolean1.2 ฟังก์ชั่นการแปลงประเภทข้อมูล
มีการแปลงโดยนัยใน JavaScript และจะมีการแปลงที่ชัดเจนตามลำดับ หากคุณต้องการทำการแปลงอย่างชัดเจนคุณต้องใช้ฟังก์ชั่นต่อไปนี้:
1. ToString ()
---> แปลงเป็นสตริงประเภทข้อมูลทั้งหมดสามารถแปลงเป็นประเภทสตริงใน JavaScript
var n1 = "12"; var n2 = true; var n11 = toString (N1); var n22 = toString (n2); console.log (typeof (n11)); // ผลลัพธ์คือสตริงคอนโซล log (typeof (n22)); // ผลลัพธ์คือสตริง
2.ParseInt ()
---> แยกวิเคราะห์ส่วนจำนวนเต็มของประเภทสตริงหรือตัวเลข หากไม่มีส่วนใดที่สามารถแปลงได้จะส่งคืน NAN (ไม่ใช่ตัวเลข)
var n1 = "12"; var n2 = "12han"; var n3 = "สวัสดี"; var n11 = parseint (n1); var n22 = parseint (n2); var n33 = parseint (n3); console.log (n11); // ผลลัพธ์คือ 12 console.log (n22); // ผลลัพธ์คือ 12 console.log (n33); // ผลลัพธ์คือ NAN
การเรียกใช้รหัสด้านบนไม่ยากที่จะเห็นว่าประเภทข้อมูลที่แปลงโดยตัวแปร N1 N2 N3 เป็นหมายเลขทั้งหมด แต่ฟังก์ชั่น N33 ที่ได้รับจากฟังก์ชัน parseInt () ไม่ใช่ค่าประเภทตัวเลขที่เรารู้จัก แต่เป็น NAN ไม่ยากที่จะเห็นว่าแม้ว่า NAN จะไม่ใช่ตัวเลข แต่มันเป็นของประเภทตัวเลขและไม่สามารถนำไปใช้กับอัลกอริทึมใด ๆ ที่ไม่สามารถนำไปใช้กับตัวเลขสามัญได้ มันมีการดำรงอยู่ที่ค่อนข้างพิเศษ (จะมีการกล่าวถึงในโพสต์บล็อกที่ตามมาและฉันจะไม่ทำซ้ำอีกครั้ง)
3.Parsefloat ()
---> แยกส่วนจุดลอยตัวของสตริงออกและหากไม่มีส่วนใดที่สามารถแปลงได้ก็จะส่งคืน NAN (ไม่ใช่ตัวเลข)
var n1 = "12.4.5"; var n2 = "12.4han"; var n3 = "สวัสดี"; var n11 = parsefloat (N1); var n22 = parsefloat (n2); var n33 = parsefloat (n3); console.log (n11); // ผลลัพธ์คือ 12.4 console.log (n22); // ผลลัพธ์คือ 12.4 console.log (n33); // ผลลัพธ์คือ NAN
จากตัวอย่างข้างต้นเราสามารถสรุปได้ว่าค่าผลตอบแทนของ parsefloat () เป็นตัวเลข แต่จากการเปรียบเทียบแนวตั้งของตัวแปรหลายตัวมันไม่ยากที่จะเห็นว่าฟังก์ชั่นไม่ได้แปลงหลังจากพบจุดทศนิยมที่สองดังนั้นจึงจำเป็นต้องให้ความสนใจเป็นพิเศษที่นี่
บทความข้างต้นเข้าใจการแปลงประเภทข้อมูลของ JavaScript อย่างครอบคลุมเป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น