讓我們先談談它們的相似之處。
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'