JavaScript 中null和undefined的区别
typeof
操作符
在区分null和undefined的区别之前,我们先来看一看typeof
操作符。typeof
操作符可以用来检测变量的数据类型。
console.log(typeof 3.14)
console.log(typeof "siebe")
console.log(typeof true)
console.log(typeof ['123','abc'])
console.log(typeof {'name':'siebe','age':24})
console.log(typeof null)
console.log(typeof undefined)
// 依次输出
// number
// string
// boolean
// object
// object
// object
// undefined
在JavaScript中,数组是一种特殊的对象类型。 因此 typeof ['123','abc']返回 object。
null
null是一个只有一个值的特殊类型。表示一个空对象引用,因此,null一般用于主动释放指向对象的引用。当使用完一个比较大的对象时,将其设置为 null,释放内存。
undefined
undefined 是一个没有设置值的变量,typeof 一个没有值的变量会返回 undefined。undefined是所有没有赋值变量的默认值,自动赋值。
var name;
// 声明了变量name,值为 undefined(空),类型是undefined
null和undefined的区别
null 和 undefined 的值相等,但类型不等:
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
网友评论