คำก่อนหน้านี้
ในภาษาการเขียนโปรแกรมทั่วไปมีเพียง Null หมายถึงว่างเปล่า แต่นักออกแบบ JavaScript Brendan Eich ออกแบบสิ่งที่ไม่ได้กำหนดซึ่งเพิ่มความซับซ้อนของโปรแกรมอย่างไม่ต้องสงสัย แต่มีเหตุผลบางประการในการทำเช่นนั้น บทความนี้จะแนะนำ undefined และ null ใน JavaScript ในรายละเอียด
เหตุผลทางประวัติศาสตร์เมื่อ JavaScript เกิดในปี 1995 เช่น Java มีเพียง Null เท่านั้นที่ถูกกำหนดให้เป็นค่าที่ระบุว่า "ไม่มี" ตามประเพณีของภาษา C null ได้รับการออกแบบให้เปลี่ยนเป็น 0 โดยอัตโนมัติ
อย่างไรก็ตามนักออกแบบ JavaScript Brendan Eich คิดว่านี่ไม่เพียงพอด้วยเหตุผลสองประการ ครั้งแรก NULL ถือเป็นวัตถุเหมือนใน Java อย่างไรก็ตามค่า JavaScript แบ่งออกเป็นสองประเภท: ประเภทดั้งเดิมและประเภทวัตถุ Brendan Eich คิดว่าคุณค่าที่หมายถึง "ไม่มี" นั้นดีที่สุดไม่ใช่วัตถุ ประการที่สองเวอร์ชันเริ่มต้นของ JavaScript ไม่รวมกลไกการจัดการข้อผิดพลาด เมื่อชนิดข้อมูลไม่ตรงกันเกิดขึ้นมักจะแปลงประเภทหรือล้มเหลวโดยอัตโนมัติ Brendan Eich คิดว่าถ้า Null เปลี่ยนเป็น 0 โดยอัตโนมัติมันเป็นเรื่องยากที่จะหาข้อผิดพลาด
ดังนั้น Brendan Eich จึงออกแบบอีกอันที่ไม่ได้กำหนด มันแยกความแตกต่างเช่นนี้: null เป็นวัตถุที่แสดงถึง "ไม่มี" ซึ่งเป็น 0 เมื่อแปลงเป็นค่าตัวเลข Undefined เป็นค่าดั้งเดิมที่แสดงถึง "ไม่มี" ซึ่งเป็น NAN เมื่อแปลงเป็นค่าตัวเลข
อย่างไรก็ตามในปัจจุบัน null และ undefined นั้นมีความหมายเหมือนกันทั้งสองประเภทดั้งเดิมและมีความแตกต่างเพียงเล็กน้อยเท่านั้น
ประเภทที่ไม่ได้กำหนดไว้มีค่าเดียวเท่านั้นซึ่งไม่ได้กำหนด เมื่อตัวแปรที่ประกาศไม่ได้เริ่มต้นค่าเริ่มต้นของตัวแปรจะไม่ได้กำหนด ดังนั้นโดยทั่วไปหมายความว่าตัวแปรไม่ได้เริ่มต้น
การทดสอบ var; // undefinedConsole.log (ทดสอบ == undefined); // truevar test = undefined; // undefined;
สำหรับตัวแปรที่ยังไม่ได้รับการประกาศสามารถดำเนินการได้เพียงครั้งเดียวโดยใช้ตัวดำเนินการ Typeof เพื่อตรวจจับชนิดข้อมูลของพวกเขา แต่จะทำให้เกิดข้อผิดพลาดในโหมดเข้มงวด
typeof (ทดสอบ); // undefined
【ฉากปรากฏตัว】
【 1 】ตัวแปรที่ไม่ได้รับการประกาศ
【 2 】รับแอตทริบิวต์ที่ไม่มีอยู่ในวัตถุ
【 3 】ผลการดำเนินการของฟังก์ชั่นโดยไม่มีค่าส่งคืน
【 4 】พารามิเตอร์ฟังก์ชันจะไม่ผ่านเข้ามา
【 5 】โมฆะ (นิพจน์)
var i; console.log (i); // undefinedvar o = {}; console.log (op); // undefinedfunction f () {}; console.log (f ()); // undefinedfunction f (x) {return x;} console.log【การแปลงพิมพ์】
บูลีน (undefined): falsenumber (undefined): nanstring (undefined): 'undefined'
โมฆะ
มีค่าเดียวสำหรับประเภท Null ซึ่งเป็นโมฆะ NULL เป็นคำหลักในภาษา JavaScript มันแสดงถึงค่าพิเศษและมักใช้เพื่ออธิบาย "ค่าว่าง"
อย่างมีเหตุผลค่า NULL แสดงถึงตัวชี้วัตถุเปล่า
[หมายเหตุ] NULL เป็นตัวชี้วัตถุเปล่าในขณะที่ [] เป็นอาร์เรย์ที่ว่างเปล่า {} เป็นวัตถุที่ว่างเปล่าทั้งสามนั้นแตกต่างกัน
console.log (typeof null); // 'object'
แม้ว่า NULL และ Undefined นั้นแตกต่างกัน แต่ทั้งคู่ก็เป็นตัวแทนของ "ว่างเปล่า" แต่ NULL แสดงถึง "ค่า NULL" และไม่ได้กำหนดแสดงถึง "undefined" ทั้งสองมักจะใช้แทนกันได้ ผู้ตัดสินความเท่าเทียมกัน == คิดว่าทั้งสองเท่ากัน
console.log (null == undefined); // true
ในความเป็นจริงเนื่องจาก undefined และ null ไม่ใช่ประเภทตัวสร้างจึงไม่มีคุณสมบัติและวิธีการใด ๆ โดยใช้ . และ [] เพื่อเข้าถึงสมาชิกหรือวิธีการทั้งสองค่าจะสร้างข้อผิดพลาดประเภท
【การแปลงพิมพ์】
บูลีน (NULL): Falsenumber (NULL): 0STRING (NULL): 'NULL'
บทความข้างต้นเกี่ยวกับระบบประเภท JavaScript - Undefined และ Null เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น