null
null
值表示有意缺少任何对象值。它是 JavaScript 的 原始值 之一,对于布尔运算被视为 falsy。
¥The null
value represents the intentional absence of any object value. It
is one of JavaScript's primitive values and
is treated as falsy for boolean operations.
Try it
语法
描述
¥Description
值 null
用文字书写:null
。null
不像 undefined
那样是全局对象属性的标识符。相反,null
表示缺乏标识,表明变量不指向任何对象。在 API 中,null
通常在可以预期对象但没有相关对象的位置检索。
¥The value null
is written with a literal: null
.
null
is not an identifier for a property of the global object, like
undefined
can be. Instead,
null
expresses a lack of identification, indicating that a variable points
to no object. In APIs, null
is often retrieved in a place where an object
can be expected but no object is relevant.
// foo does not exist. It is not defined and has never been initialized:
foo; //ReferenceError: foo is not defined
// foo is known to exist now but it has no type or value:
const foo = null;
foo; //null
示例
null
和 undefined
之间的区别
¥Difference between null
and undefined
检查 null
或 undefined
时,请注意 相等 (==) 和恒等 (===) 运算符之间的区别,因为前者执行类型转换。
¥When checking for null
or undefined
, beware of the differences between equality (==) and identity (===) operators, as the former performs
type-conversion.
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
规范
Specification |
---|
ECMAScript Language Specification # sec-null-value |
浏览器兼容性
BCD tables only load in the browser