คู่มือนี้จะดูความแตกต่างระหว่าง โมฆะ และ ไม่ได้กำหนด ค่าในจาวาสคริปต์ การทราบความแตกต่างระหว่างค่าทั้งสองนี้มีความสำคัญต่อการดีบักและการสร้างโค้ดที่ปราศจากข้อผิดพลาด
วิธีสร้าง dvd บูต windows 10 ได้
ใช้คอนโซลเบราว์เซอร์ของคุณเพื่อปฏิบัติตามหรือลองใช้ตัวอย่างโค้ดที่กล่าวถึงในคู่มือนี้
การเปรียบเทียบความเท่าเทียมกันของค่าว่างและค่าที่ไม่ได้กำหนด
ในจาวาสคริปต์ โมฆะ เป็นค่าดั้งเดิมที่ใช้เพื่อแสดงการไม่มีค่าวัตถุโดยเจตนาในขณะที่ ไม่ได้กำหนด เป็นค่าดั้งเดิมที่ทำหน้าที่เป็นตัวยึดตำแหน่งสำหรับตัวแปรที่ยังไม่ได้กำหนดค่า
โมฆะ และ ไม่ได้กำหนด ค่าจะเท่ากันเมื่อเปรียบเทียบโดยใช้ตัวดำเนินการความเท่าเทียมกันของ JavaScript
ใช้ตัวดำเนินการความเท่าเทียมกัน ( == ) เพื่อเปรียบเทียบ if โมฆะ และ ไม่ได้กำหนด ค่าเท่ากันใน JavaScript
เปิดคอนโซลเบราว์เซอร์ของคุณและป้อนรหัสต่อไปนี้ จากนั้นกด เข้า.
null == undefined
ผลลัพธ์ควรให้บางสิ่งที่มีลักษณะดังนี้ ค่าบูลีนที่ส่งคืนของ จริง ก็หมายความว่าทั้งสองค่าเท่ากัน
เรียนรู้เพิ่มเติม: วิธีประกาศตัวแปรใน JavaScript
การเปรียบเทียบความเท่าเทียมกันอย่างเข้มงวด
JavaScript ยังมีตัวดำเนินการข้อมูลประจำตัว ( === ) หรือที่เรียกว่าตัวดำเนินการความเท่าเทียมที่เข้มงวดนอกเหนือจากตัวดำเนินการความเท่าเทียมกัน ( == )
ตัวดำเนินการข้อมูลประจำตัวใช้ไมล์พิเศษโดยตรวจสอบว่าประเภทพื้นฐานของค่าที่เปรียบเทียบเหมือนกันหรือไม่ โดยพื้นฐานแล้วหมายความว่าแม้ว่าค่าสองค่าจะเท่ากัน แต่ก็อาจไม่เหมือนกันหรือเท่ากันอย่างเคร่งครัดหากประเภทพื้นฐานต่างกัน
หากต้องการทดสอบความเท่าเทียมกันอย่างเข้มงวด ให้ใช้เครื่องหมายเท่ากับสามเท่าด้านล่าง
null === undefined
ผลลัพธ์ของคำสั่งด้านบนจะให้ค่าบูลีนเป็น เท็จ กล่าวอีกนัยหนึ่ง ค่าทั้งสองไม่เหมือนกันแม้ว่าจะเท่ากันก็ตาม
ค้นหาประเภทของ Null และ Undefined
ใช้ฟังก์ชัน JavaScript ในตัว ประเภทของ() เพื่อค้นหาประเภทพื้นฐานของค่า ฟังก์ชันใช้พารามิเตอร์เดียวของค่าที่มีประเภทที่คุณต้องการค้นหา
ที่เกี่ยวข้อง: สุดยอด JavaScript Cheat Sheet
typeof(null)
ค่า Null เป็นประเภท วัตถุ ดังที่คุณเห็นจากผลลัพธ์ด้านล่าง
ทำการทดสอบที่คล้ายกันใน ไม่ได้กำหนด ค่าจะให้ผลลัพธ์ของ ไม่ได้กำหนด .
typeof(undefined)
การทำงานกับตัวเลข
เพื่อสำรวจความแตกต่างเพิ่มเติม ทำการทดสอบตัวเลขบน โมฆะ และ ไม่ได้กำหนด ค่า หากค่าเป็นตัวเลข แสดงว่าเราสามารถดำเนินการเชิงตัวเลขกับค่านั้นได้
มีสองวิธีหลักในการทดสอบว่าค่าเป็นตัวเลขใน JavaScript หรือไม่
1. การใช้ isFinite () ฟังก์ชั่น—ถ้าค่าที่ทดสอบเป็นตัวเลข ฟังก์ชันจะส่งกลับ จริง ; มิฉะนั้นมันจะกลับมา เท็จ .
2. การใช้ isNaN() ฟังก์ชัน—หากค่าที่ทดสอบเป็นตัวเลข จะส่งกลับ เท็จ ; มิฉะนั้นมันจะกลับมา จริง .
บันทึก : คือNaN ย่อมาจาก 'is Not a Number'
เพื่อให้ง่ายยิ่งขึ้น คู่มือนี้จะใช้เฉพาะ isFinite () ฟังก์ชันเพื่อทดสอบว่าค่าเป็นตัวเลขหรือไม่ แต่ให้ลองใช้ isNaN() การทำงาน. ฟังก์ชันทั้งสองนี้ใช้ค่าที่คุณต้องการเรียกใช้การทดสอบตัวเลขเป็นพารามิเตอร์
isFinite(null)
ผลลัพธ์คือ จริง , ความหมาย โมฆะ เป็นค่าของประเภท ตัวเลข ในจาวาสคริปต์ ในขณะที่ทำการทดสอบแบบเดียวกันบน ไม่ได้กำหนด ผลตอบแทน เท็จ .
isFinite(undefined)
พิมพ์ ข่มขู่
JavaScript เป็นภาษาที่พิมพ์หลวมๆ และด้วยเหตุนี้ เมื่อดำเนินการทางคณิตศาสตร์ JavaScript จะแปลงผลลัพธ์เป็นประเภทที่ต้องการโดยอัตโนมัติ
น่าเสียดายที่การแปลงอัตโนมัตินี้ ซึ่งโดยทั่วไปเรียกว่าการบีบบังคับแบบประเภท สามารถสร้างความประหลาดใจได้มากมายพร้อมกับมัน
เรียกใช้การดำเนินการตัวเลขต่อไปนี้บน โมฆะ และ ไม่ได้กำหนด ในคอนโซลเบราว์เซอร์ของคุณ
1 + null
3 * null
1 + undefined
3 * undefined;
อย่างที่คุณเห็น คุณสามารถดำเนินการตัวเลขบางอย่างบน โมฆะ ค่า เพราะเป็นตัวเลขที่ไม่มีค่า ดังนั้นจึงถือว่าเป็นศูนย์ สังเกตว่า โมฆะ ไม่เท่ากับ ศูนย์ ใน JavaScript แต่ก็ได้รับการปฏิบัติเช่นนั้นในกรณีนี้
การดำเนินการเชิงตัวเลขบน ไม่ได้กำหนด ค่าส่งผลให้ส่งคืน น่าน (ไม่ใช่ตัวเลข) ค่า หากไม่ปฏิบัติอย่างระมัดระวัง คุณอาจประสบปัญหานี้ระหว่างรันไทม์
หลีกเลี่ยงบั๊กรันไทม์
ความเข้าใจที่ดีของ โมฆะ และ ไม่ได้กำหนด ค่ามีความสำคัญในการหลีกเลี่ยงจุดบกพร่องรันไทม์ในโค้ดการผลิตของคุณ Bugs ที่เกี่ยวข้องกับ ไม่ได้กำหนด ค่าอาจแก้จุดบกพร่องได้ยากและควรหลีกเลี่ยง
พิจารณาใช้ TypeScript สำหรับโค้ดที่พิมพ์แรงมากซึ่งคอมไพล์ไปยัง JavaScript ใน TypeScript รหัสของคุณจะถูกตรวจสอบในเวลาคอมไพล์เพื่อลดจุดบกพร่องของรันไทม์ในโค้ดที่ใช้งานจริงของคุณ
แบ่งปัน แบ่งปัน ทวีต อีเมล หัวข้อที่เกี่ยวข้อง- การเขียนโปรแกรม
- JavaScript
- เคล็ดลับการเข้ารหัส
Mwiza พัฒนาซอฟต์แวร์ตามอาชีพและเขียนอย่างกว้างขวางบน Linux และการเขียนโปรแกรมส่วนหน้า ความสนใจบางส่วนของเขารวมถึงประวัติศาสตร์ เศรษฐศาสตร์ การเมือง และสถาปัตยกรรมองค์กร
เพิ่มเติมจาก Mwiza Kumwendaสมัครรับจดหมายข่าวของเรา
เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!
คลิกที่นี่เพื่อสมัครสมาชิก