当前位置:网站首页 > 技术博客 > 正文

typeof和instance of的用法区别



操作符返回一个字符串,表示未经计算的操作数的类型

使用方法如下:

表示对象或原始值的表达式,其类型将被返回

举个例子

从上面例子,前6个都是基础数据类型。虽然为,但这只是 存在的一个悠久 ,不代表就是引用数据类型,并且本身也不是对象

所以,在 之后返回的是有问题的结果,不能作为判断的方法。如果你需要在 语句中判断是否为 ,直接通过来判断就好

同时,可以发现引用类型数据,用来判断的话,除了会被识别出来之外,其余的都输出

如果我们想要判断一个变量是否存在,可以使用:(不能使用, 若未声明,则报错)

运算符用于检测构造函数的 属性是否出现在某个实例对象的原型链上

使用如下:

为实例对象,为构造函数

构造函数通过可以实例对象,能判断这个对象是否是之前那个构造函数生成的对象

关于的实现原理,可以参考下面:

也就是顺着原型链去找,直到找到相同的原型对象,返回,否则为

与都是判断数据类型的方法,区别如下:

  • 会返回一个变量的基本类型,返回的是一个布尔值
  • 可以准确地判断复杂引用数据类型,但是不能正确判断基础数据类型
  • 而 也存在弊端,它虽然可以判断基础数据类型( 除外),但是引用数据类型中,除了 类型以外,其他的也无法判断

可以看到,上述两种方法都有弊端,并不能满足所有场景的需求

如果需要通用检测数据类型,可以采用,调用该方法,统一返回格式的字符串

如下

了解了的基本用法,下面就实现一个全局通用的数据类型判断方法

使用如下

版权声明


相关文章:

  • linux线程同步有几种方法2024-10-30 17:01:01
  • 芯片通信协议有哪些2024-10-30 17:01:01
  • stm32变量类型2024-10-30 17:01:01
  • sql获取上一条数据2024-10-30 17:01:01
  • c语言函数参数为指针2024-10-30 17:01:01
  • 《java游戏编程开发教程》2024-10-30 17:01:01
  • 网络设备有哪些(常见的网络设备有哪些?)2024-10-30 17:01:01
  • 操作系统习题(操作系统--精髓与设计原理课后复习题答案)2024-10-30 17:01:01
  • 神奇代码什么意思2024-10-30 17:01:01
  • 交叉验证的几种方法2024-10-30 17:01:01