undefined派生于null
- undefined 是 Undefined 类型。用于表示未定义的变量
- null 是 Null 类型。 表示空对象指针,null着重于表示对象
- boolean是Boolean类型
所以二者并不等于true false,数据类型不一样
在判断对象是否为空指针时用 null 可以表示 false, undefined 则只有 false 情况没有 true 情况
var test1;
var test2 = null;
console.log(test1); // undefined
console.log(test2); // null
console.log(typeof(test1)); // undefined
console.log(typeof(test2)); // object
// undefined和null在if语句中,都会被自动转为false,
// undefined == null 但是使用 === 两者不相等,因为会比较类型,
// 一个是object类型,一个是undefined类型 数据类型不一样
双重否定可以将undefined和null转换对应的boolean
var test
(!!test) // false