当声明的变量还没被初始化时,变量的默认值为undefined
当对象尚未存在时,用null表示
相似性:
- 将undefined和null转换为布尔类型时都得到false(即 如果将变量赋值为undefined或null,在if语句将其作为判断时是false)
console.log(!undefined) //输出true
console.log(!null) //输出true
- 使用==判断时,两者相等(注意使用三个等号判断时,两者不等,因为三等号里如果类型不同,就一定不相等)
console.log(undefined == null) //输出true
console.log(undefined === null) //输出false
区别
-
在发送给后台的表单中,如果将字段的值初始化为undefined而未对其进行重新赋值时,该字段不会发给后台。
但将字段的值初始化为null而未对其重新赋值时,发送给后台的字段值为null -
类型不同,null的类型为object
console.log(typeof(undefined)) //输出undefined
console.log(typeof(null)) //输出object