讓我們先談談它們的相似之處。
null 和 undefined 都是 JavaScript 的原始類型。
undefined 的意思是變數已聲明,但尚未賦值。
let age // age 是 undefined
let age = null // age 是 null
注意:訪問尚未聲明的變數會引發
ReferenceError: <variable> is not defined錯誤,但這並不意味著它是undefined。
如何檢查變數是否為 null?使用比較運算符,例如 age === null。
對於 undefined 也是一樣:age === undefined。
在這兩種情況下,你都可以進行檢查:
if (!age) {
}
這將同時匹配 null 和 undefined。
你也可以使用 typeof 運算符:
let age
typeof age //'undefined'
儘管 null 被評估為一個對象,但它實際上是一個原始類型:
let age = null
typeof age //'object'