基本类型和引用类型的小结【万物皆对象】

基本类型和引用类型的小结【万物皆对象】

如何判断数据类型?

基本类型:建议使用运算符typeof

引用类型:建议使用运算符instanceof


说明:

[1] typeof NaN为number,因为NaN是特殊的数字。

[2] typeof undefined为undefined,因为它就是一种基本类型。

[3] typeof null为object,可以把null理解为未初始化的对象。

[4] typeof无法区分数组和对象,均返回object。但是可以检测函数,返回function。

[5] instanceof若用于判断基本类型,则一律返回false。举例如下:

console.log(3.14 instanceof Number);
 console.log(NaN instanceof Number);
 console.log(false instanceof Boolean);
 console.log("happy" instanceof String);
 console.log(undefined instanceof Object);
 console.log(null instanceof Object);

以上结果输出均为false。


[6] 在JS中,万物皆对象,可以理解为引用类型(数组、对象、函数)都是Object的实例。举例如下:

function setName(obj) {obj.name = "JavaScript";}
 function doNothing() {;}
 let Tom = {}, Jerry = {name: "Jerry", age: 16};
 let array1 = [], array2 = [1, 2, 3, 4];
console.log(setName instanceof Function);
 console.log(doNothing instanceof Function);
 console.log(setName instanceof Object);
 console.log(doNothing instanceof Object);
 console.log(Tom instanceof Object);
 console.log(Jerry instanceof Object);
 console.log(array1 instanceof Array);
 console.log(array2 instanceof Array);
 console.log(array1 instanceof Object);
 console.log(array2 instanceof Object);
 console.log(Array instanceof Object);
 console.log(Function instanceof Object);
 console.log(Object instanceof Object);

以上结果输出均为true。


这是我的理解和小结。请老师指正点评。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕夭夭 2019-11-28 11:05:21

同学你好,首先要表扬一下,整理的不错,大部分都对。然后,针对以下两条进行指正。

1.typeof null为object,可以把null理解为未初始化的对象。

建议把未初始化的对象改为空对象指针。例如var obj=null , 这个obj是初始化的,它的值就得null,虽然null是一个空值,但是它表示一个空对象指针。像var obj ;这样的才叫未初始化。

2. 并不是说Object的实例才叫做对象。“万物皆对象”是一个概念(不要从语法上去理解),就是js中,一切事物我们都可以把它看成一个对象。例如字符串,数值,等等所有的类型本质上都是对象。只不过从语法划分上,把这些事物划分成基本类型,引用类型等。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 嗯,可以把null理解为一个空对象指针。这与C和C++中的空指针有相似之处。
    2019-11-28 11:22:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师