null
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
尝试一下
语法
js
null
描述
值 null
被写作字面量:null
。不像 undefined
,null
不是全局对象的属性。相反,null
是表示缺少的标识,指示变量未指向任何对象。在 API 中,null
常在预期的值应是一个对象,但又没有关联的对象的地方使用。
js
// foo 不存在。它从未被定义或初始化:
foo; //ReferenceError: foo is not defined
js
// 已知 foo 现在已经存在,但它没有类型和值:
const foo = null;
foo; //null
示例
null
与 undefined
的不同点
当检查值是否为 null
或 undefined
时,请注意相等(==)与全等(===)运算符的区别,前者会执行类型转换:
js
typeof null; // "object"(因历史原因而不是 "null")
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
规范
Specification |
---|
ECMAScript Language Specification # sec-null-value |
浏览器兼容性
BCD tables only load in the browser