手写类型判断函数

7,手写类型判断函数

使用typeof,对于null和引用对象来说,输出的都是Object,因此没有办法来分辨到底是是什么引用类型

<script>
          function getType(value){
          // 判断数据是null的情况
          if(value === null){
               return value+'';
          }
          // 判断数据是引用类型的情况
          if(typeof value === 'object'){
               // valueClass得到的是[object Map],string类型
               let valueClass = Object.prototype.toString.call(value),
               // [object Map]将这个字符串用空格分开,分为数组,然后再将后面的分开
               type = valueClass.split(' ')[1].split("")
               type.pop()
               // 将数组转为字符串,并且首字母大写
               return type.join("").toLowerCase()
          }else{
               // 判断数据是基本数据类型的情况和函数的情况
               return typeof value
          }
        }  
        console.log(getType(new Map()))
     </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值