js里的对象类型typeof

31 篇文章 1 订阅

    js的对象类型主要分为两大类:基本数据类型(原生类型)、包装数据类型(包装类型);

1、基本数据类型

    typeof 123; // 'number'
    typeof NaN; // 'number'
    typeof 'str'; // 'string'
    typeof true; // 'boolean'
    typeof undefined; // 'undefined'
    typeof Math.abs; // 'function'
    typeof null; // 'object'
    typeof []; // 'object'
    typeof {}; // 'object'
    console.log("typeof 123= ",typeof 123);
    console.log("typeof NaN= ",typeof NaN);
    console.log("typeof 'str'= ",typeof 'str');
    console.log("typeof true= ",typeof true);
    console.log("typeof undefined= ",typeof undefined);
    console.log("typeof Math.abs= ",typeof Math.abs);
    console.log("typeof null= ",typeof null);
    console.log("typeof []= ",typeof []);
    console.log("typeof {}= ",typeof {});

    效果如下:

图(1) 基本数据类型

2、包装数据类型

    var a1 = new Number(123)     //object
    var b1 = new Boolean(true)   //object
    var c1 = new String('hello') //object
    console.log("new Number(123)= ",typeof a1)
    console.log("new Boolean(true)= ",typeof b1)
    console.log("new String('hello')= ",typeof c1)

    效果如下:

图(2) 包装数据类型

    包装数据类型,是用new func()得到的,它是一个object,与基本数据类型不相同所以包装数据类型与基本数据类型,不能用 === 来判断相等

3、案例分析

3.1 将基本数据类型123,与包装数据类型123,进行比较

    var a1 = 123;             //基本数据类型:123, 属于number
    var b1 = new Number(123); //包装数据类型:123, 属于object
    var bRet = (a1 === b1);
    console.log("check a1,b1",bRet)

    比较结果:
在这里插入图片描述

3.2 将基本数据类型123,与原生数据123,进行比较

    var a1 = 123;             //基本数据类型:123, 属于number
    var c1 = Number(123);     //原生数据:123,   属于number
    var bRet = (a1 === c1);
    console.log("check a1,c1",bRet)

    比较结果:
在这里插入图片描述

3.3 小结

    带new生成的数据为包装类型(包装数据类型),不带new生成的数据为原生类型(基本数据类型)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值