JavaScript数据类型 - Null类型

Null类型

Null 类型是第二个只有一个值的数据类型,这个特殊的值就是null。从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof检测null值时返回object的原因,如下所示:

var car = null;
console.log(typeof car);// object

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其它值。这样一来,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用。比如下面的例子:

if(car != null){
    //对car对象执行某些操作
}

实际上,undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true;

console.log(null == undefined);//true
console.log(null === undefined);//false

上述代码中虽然undefined值派生自null值,用2个等号检测它们是相等的,但实际上它们并不属于同一个类型,所以当我们用3个等号检测时就返回false了。

这里,位于null和undefined之间的相等操作符(==)总是返回true。尽管null和undefined有这样的关系,但它们的用途完全不同,如前所述,无论在什么情况下都没必要把一个变量显示的设置为undefined,可视同样的规则对null却不适用。换句话说,只要意在保存对象的变量还没有真正的保存对象,就应该明确的让该变量保存为null值。这样做不仅可以体现null作为空对象指针的惯例,而且也有助于进一步区分null和undefined。

猜你喜欢

转载自blog.csdn.net/lixiaosenlin/article/details/108274548