null

**null** 值表示有意缺少任何对象值。它是 JavaScript 的 原始值 之一,在布尔运算中被视为 假值

试一试

语法

js
null

描述

null 值使用字面量编写:nullnull 不是全局对象的属性标识符,例如 undefined 可以是。相反,null 表示缺乏标识,表示变量不指向任何对象。在 API 中,null 通常在可以预期对象但没有相关对象的地方被检索。

js
// foo does not exist. It is not defined and has never been initialized:
foo; //ReferenceError: foo is not defined
js
// foo is known to exist now but it has no type or value:
const foo = null;
foo; //null

示例

nullundefined 之间的区别

在检查 nullundefined 时,请注意 相等 (==) 和恒等 (===) 运算符之间的区别,因为前者执行类型转换。

js
typeof null; // "object" (not "null" for legacy reasons)
typeof undefined; // "undefined"
null === undefined; // false
null == undefined; // true
null === null; // true
null == null; // true
!null; // true
Number.isNaN(1 + null); // false
Number.isNaN(1 + undefined); // true

规范

规范
ECMAScript 语言规范
# sec-null-value

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅