Published 2020-05-11

Javascript - Null

JavaScript 中的 null 值表示没有值或空引用。它是语言中的基本值之一,其他基本值还有 undefined、true 和 false。

你可以这样将 null 值赋给变量:

let x = null

null 经常用来表示对象值的缺失。例如,你可以使用 null 来表示函数的结果缺失:

function getUser(id) {
  let user = database.get(id)
  if (!user) {
    return null
  }
  return user
}
 
let user = getUser(123)
if (user === null) {
  console.log('用户未找到')
} else {
  console.log(user.name)
}

在上面的例子中,如果在数据库中未找到用户,函数 getUser() 将返回 null。

请注意,null 与 undefined 不同,undefined 表示没有值。在 JavaScript 中,未初始化的变量的默认值是 undefined,而 null 是可以赋值给变量的值。

你还可以使用 null 值将对象重置为初始状态:

let obj = {a: 1, b: 2}
obj = null // obj 现在为 null

最后,你可以使用 typeof 运算符来检查一个值是否为 null。typeof 运算符对于 null 值会返回字符串 "object":

console.log(typeof null) // "object"

但是,这种行为被视为语言中的 bug,不会改变。建议只在对象值的上下文中使用 null