1. 介绍null
在JavaScript中,null是一个表示空值的特殊关键字。它是一个原始值,表示一个空对象指针,意味着它指向一个不存在的对象。null通常用来表示函数不存在返回值,或对象的属性/变量暂时没有值、没有对象等情况。
与null相反的关键字是undefined,它表示未定义值、缺少值或未声明的变量。
2. 判断null类型
我们可以使用typeof语句检查值是否为null类型,typeof null返回的是'object'
。
console.log(typeof null); // 'object'
这是一个历史遗留问题,ECMAScript处理null的方式与处理object类型相同。这意味着,如果使用typeof
检查一个null值,将返回'object'。
3. null和undefined区别
3.1 转换为布尔值
在JavaScript中,null和undefined转换为布尔值时都是false
。
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
注意,如果我们使用双等号运算符进行比较,null和undefined被认为是相等的。
console.log(null == undefined); // true
3.2 定义和使用
undefined表示未定义、未声明或缺少值,而null表示一个特殊值,表示空值或不存在的对象。
我们可以声明一个变量,但不将其赋为任何值。变量将包含undefined,因为JavaScript将未初始化的变量默认设置为undefined。
var person;
console.log(person); // undefined
如果我们声明变量并将其赋值为null,则变量包含null。
var car = null;
console.log(car); // null
4. 实际应用
null在实际开发中用得非常多,例如在JavaScript中创建新对象时,它被用来显式地表示初始值为null。
var person = null;
console.log(person); // null
另一个例子是删除对象属性,将其设为null,这样我们就可以确保它已被删除,不能访问。
var person = {name: 'Alice', age: 24};
console.log(person); // {name: 'Alice', age: 24}
person = null;
console.log(person); // null
5. 总结
null是一个特殊的JavaScript关键字,表示一个空对象指针。它在JavaScript中被广泛使用,通常用于声明初始值或表示不存在值、未定义/缺失值或删除对象属性。检查null类型时,使用typeof语句返回值为'object'。
和null相反的关键字是undefined,它表示未定义值或未声明的变量。当undefined和null被转换成布尔值时,它们都是false
。