JavaScript之typeof运算符与instanceof运算符

1.typeof

typeof()表示“获取变量的数据类型”,返回的是类型值,该值是字符串类型。

typeof 的代码写法 返回结果
typeof 数字 number
typeof 字符串 string
typeof 布尔型 boolean
typeof undefined undefined
typeof 对象 object
* typeof 方法 function
* typeof null object

备注 1:为啥 typeof null的返回值也是 object 呢?因为 null 代表的是空对象。
备注 2:typeof NaN的返回值是 number,上一篇文章中讲过,NaN 是一个特殊的数字。

console.log(typeof []); // 空数组的打印结果:object

console.log(typeof {
   }); // 空对象的打印结果:object



代码解释:这里的空数组[]、空对象{} ,为啥他们在使用 typeof 时,返回值也是 object呢?因为这里的 返回结果object指的是引用数据类型。空数组、空对象都是引用数据类型 Object。
typeof 无法区分数组,但 instanceof 可以。比如:

console.log([] instanceof Array); // 打印结果:true

console.log({
   } instanceof Array); // 打印结果:false

2.instanceof

instanceof 是一个运算符,语法为:object (引用类型变量) instanceof class(类)

功能:用于判断一个对象是否属于某个类或其子类;如果是,返回 true,不是返回 false;

注意事项:
使用 instanceof 时需要保证 instanceof 前面的引用变量编译时的类型要么与后面的类型相同,要么与后面的类型具有父子继承关系,即在原型链上有链接。

Object test = "Hello"; // test实际类型是String,但是Object是所有类的父类
System.out.println(test instanceof Object
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值