Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ความแตกต่างระหว่าง null และ undefined ใน JavaScript

ใน JavaScript null และ undefined ทั้งคู่เป็น primitive values (ค่าเกลี้ยง)

อ่านเพิ่มเติมเกี่ยวกับ primitive vs non-primitive values ใน JavaScript

ตัวแปร undefined คือตัวแปรที่ ประกาศแล้วแต่ยังไม่ได้กำหนดค่า

ตัวอย่าง ลอง log ตัวแปรนี้:

let dogBreed; // undefined

คุณจะได้ undefined เพราะตัวแปร dogBreed ไม่มีค่า

null เป็น ค่า ที่มักจะกำหนดให้ตัวแปรโดยเจตนา ตัวอย่างเช่น เพื่อหลีกเลี่ยงตัวแปร undefined ที่ไม่พึงประสงค์ คุณสามารถกำหนด null ให้ตัวแปรร่วม (และกำหนดค่าจริงภายหลัง):

let dogBreed = null;
console.log(dogBreed); // null

ข้อมูลเพิ่มเติม (Bonus)

null ถูกประเมินเป็น object ซึ่งโค้ดต่อไปนี้แสดงให้เห็น:

console.log(typeof dogBreed); // "object"

นี่เป็นข้อผิดพลาดที่รู้จักกันดีใน JavaScript ตั้งแต่แรก (typeof null === 'object' เป็น true) ซึ่งเป็น bug ที่คงอยู่มาตลอดเพื่อ backward compatibility