Null类型是第二个只有一个值的数据类型,它的特殊值就是null。从逻辑角度上讲,null值表示一个空对象指针,这也是我们之前文章中讲到了为什么使用typeof检测“null”值会返回“object”。
我们再来回顾一下:
var message=null;
console.log(typeof message);
如上声明一个变量message并初始化null值,控制台输出message的数据类型为object:
所以,童靴们在实际开发中,如果定义的变量准备在将来保存对象,那么最好将该变量初始化为null。这样,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用:
if(message!=null){
//对car值执行某些操作
}
实际上,undefined值是派生自null值的,所以在ECMA-262规定对它们相等性测试要返回true。
console.log(null==undefined); //true
要注意的是,这个操作符出于比较的目的会转换其操作数。(以后文章会给童靴们讲的)。
尽管null和undefined有这样的关系,但是它们的用途完全不同。无论在什么样的情况下,都没必要把一个变量显式的设置为undefined。可是null就不一样了,只要意在保存对象的变量还没有真正的保存对象,就应该明确的保存null值。这样做不仅可以体现null作为空对象指针的惯例,而且也有助于进一步区分null和undefined。
爱学习的孩子运气不会差哦~
关注小白前端,持续收到文章推送!