JavaScript 的基本类型有哪些?常用引用类型有哪些?null 和undefined 的区别
基本数据类型
基本数据类型有这五种:Number 数字型 String 字符串型 Boolean 布尔型 Undefined 未定义型 Null 空类型
复制代码
引用数据类型(常用)
引用类型有这几种:object 对象 array 数组 function 函数
复制代码
null 和undefined 的区别
1.类型的区别
console.log(typeof(undefined)); //undefined
console.log(typeof(null)); //object
console.log(null==undefined); //true
console.log(null===undefined); //false
复制代码
为什么 console.log(typeof(null)); //object
复制代码
—–这是因为es设计时认为,null表示空对象指针,只不过值为空,但是代码执行时会正常站位;所以用typeof的时候,会返回”object”。所以一般都会把null当做空对象的占位符。
null在最初的设计为装换类型时,可转换为0;而undefined为NaN
console.log(Number(null)); //0
console.log(Number(undefined)); //NaN
复制代码
2.目前的用法
目前,null和undefined基本是同义的,只有一些细微的差别。
null表示”没有对象”,即该处不应该有值。典型用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype) // null
复制代码
undefined表示”缺少值”,就是此处应该有一个值,但是还没有定义。典型用法是:
变量被声明了,但没有赋值时,就等于undefined。
调用函数时,应该提供的参数没有提供,该参数等于undefined。
对象没有赋值的属性,该属性的值为undefined。
函数没有返回值时,默认返回undefined。
对象属性名不存在时,显示undefined
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END