js 判断数据类型(基本数据类型、引用数据类型)and 强制转换数据类型

 判断数据类型(基本数据类型、引用数据类型):

  const type = (target) => {
    const template = {
      "[object Array]" : "array",
      "[object Object]" : "object",
      "[object Number]" : "number - object",
      "[object Boolean]" : "boolean - object",
      "[object String]" : "string - object"
    }
    if (target === null){
      return null;
    } else if (typeof (target) == "object"){//引用值
      const str = Object.prototype.toString.call(target);
      return template[str];
    } else {//原始值
      return typeof (target);
    }
  }

强制转换数据类型:
ECMAScript 中可用的 3 种强制类型转换如下:

  • Boolean(value):把给定的值转换成Boolean型。
  • Number(value):把给定的值转换成数字(可以是整数或浮点数)。
  • String(value):把给定的值转换成字符串。

下面是采用策略模式封装的一个强制类型转换方法:

  const convertDataType = (type, value) => {
    let obj = {
      int: Number,
      string: String,
      boolean: Boolean
    }
    return obj[type](value);
  }

判断一个变量 不是数值 且 不可以被强转为数值:

!Number(val)

!Number(123) // false
!Number('123') // false
!Number('asd') // true

// 解析:
Number('asd') // NaN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值