关于typeof的用法以及和instanceof的区别

今天在这里给大家说一下在js的使用中typeof的用法 , typeof运算符判断信息以字符串形式返回的.
typeof返回的类型有六种: ‘number’ , ‘string’ , ‘boolean’ , ‘object’ 以及 ‘function’ 和 ‘undefined’.
大家可能觉得返回的类型是不是不够啊!!! 对的 , typeof 有一定的局限性, Array 和 Null 的返回类型都是object
以下就是各个对应的返回的数据类型:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

由此可见 , typeof的局限性 . 那么 , 如果想判断是Array 和 Null 格式该怎么办 ?
当然了, 我们不会罢休 , 所以 instanceof 就成为了我们解决这个问题的武器 .
在上面我们看到Array 和 Null 返回的类型都是object , 因为那些基本类型都是object 的子类 , 所以能返回object , 但是 instanceof 返回的结果如下 :

在这里插入图片描述

在这里插入图片描述

instanceof 是有效果的 , 但是 这里并不是因为上面所说的Array是object的子类 , 这里 Array的prototype 属性构造于object , 而 Array 的父级是Function .

在这里插入图片描述

在这里插入图片描述

以上便是我对typeof和 instanceof 的理解 .
总结 :
typeof 是一元运算符,用来返回操作数类型的字符串。
instanceof 只有一个实际应用场景,就是用来检测一个对象是否已经定义或者是否已经赋值。而这个应用却不是来检查对象的类型。(返回的都是 true 和 false)

如有不同见解或发现什么错误 , 欢迎各位留言批评 !!!

猜你喜欢

转载自blog.csdn.net/qq_43288277/article/details/83314254