มีสองสิ่งที่คุณต้องเข้าใจเกี่ยวกับการไม่ได้กำหนด ...
- ชนิด
undefined
ที่สามารถมีได้เพียงหนึ่งค่า
- ตัวแปร
undefined
ตอนนี้อ่านต่อไปนี้อย่างระมัดระวัง ...
มีประเภทค่ามากมายnumber
(10, 10.01, 1e1) แต่จะมีเพียงหนึ่งค่าประเภทundefined
และค่าที่undefined
ถูกเก็บไว้ในตัวแปร ค่าที่มีตัวแทนที่แท้จริง NO - ตัวอย่างเช่นค่าจำนวน1
, 100
, 1e-1
มีตัวอักษรทั้งหมดของจำนวนชนิด แต่ค่าที่เก็บไว้ในตัวแปรundefined
ไม่มีรูปแบบอักษร
undefined
เป็นตัวแปรเพียงแค่ตัวแปรปกติที่ JavaScript ประกาศและกำหนดค่าประเภทundefined
ในขอบเขตส่วนกลาง ดังนั้นคุณสามารถทำสิ่งต่อไปนี้ ...
พิมพ์ไม่ได้กำหนด; // "ไม่ได้กำหนด"
undefined = 100;
พิมพ์ไม่ได้กำหนด; // "หมายเลข"
undefined = void 0;
พิมพ์ไม่ได้กำหนด; // "ไม่ได้กำหนด"
window.undefined === ไม่ได้กำหนด; // จริง
window.undefined === โมฆะ 0; // จริง
- ถ้าคุณไม่ต้องการที่จะใช้ตัวแปร
undefined
คุณสามารถสร้างมูลค่าของชนิดundefined
โดยการแสดงออกvoid 0
- undefined
มีวัตถุประสงค์เพียงอย่างเดียวคือการกลับค่าของประเภท
... ใครก็ได้ช่วยอธิบายหน่อยได้ไหมว่าทำไมสิ่งนี้ถึงถูกแทรกลงใน JavaScript ...
NO เหมือนไม่มีใครสามารถอธิบายได้ว่าทำไมตัวแปรที่ไม่ได้ประกาศจึงไปยังขอบเขตทั่วโลกแทนที่จะเป็นโลคัล คุณเพียงแค่ต้องฝึกตัวเองให้ใช้มันอย่างชาญฉลาดแทนที่จะพยายามหาเหตุผลว่ามีอยู่จริง
... เรามีค่า Null ...
แม้ว่าจะnull
สามารถทำสิ่งต่าง ๆundefined
ได้มันเกี่ยวข้องกับobjects
สเกลาร์มากกว่าหรือน้อยกว่า อันที่จริงจาวาสคริปต์ถือว่าnull
ตัวเองวัตถุ - typeof null
ส่งคืน "วัตถุ"
ในความคิดของบรรทัดล่างคือที่จะไม่พยายามที่จะเหตุผลวัตถุประสงค์ที่แน่นอนของundefined
และnull
- และใช้พวกเขาในรหัสของคุณ intelligibly เพื่อให้รหัสของคุณสามารถอ่านได้, การบำรุงรักษาและนำมาใช้ใหม่
undefined
เมื่อใดและเมื่อใดnull