انتقل إلى المحتوى الرئيسي

📄 請解釋 null 和 undefined 的差異

比對兩者差異

  • undefined
    • 表示變量已聲明但尚未賦值。
    • 是未初始化變量的默認值。
    • 函式如果沒有顯示返回值,則默認返回 undefined
  • null
    • 表示一個空值或沒有值。
    • 通常必須明確賦值為 null
    • 用於表示一個變量有意地不指向任何物件或值。

範例

let x;
console.log(x); // 輸出:undefined

function foo() {}
console.log(foo()); // 輸出:undefined

let y = null;
console.log(y); // 輸出:null

let obj = { x: 5 };
obj.x = null;
console.log(obj.x); // 輸出:null

使用 typeof 驗證

console.log(typeof undefined); // 輸出:"undefined"
console.log(typeof null); // 輸出:"object"

console.log(null == undefined); // 輸出:true
console.log(null === undefined); // 輸出:false