JS数据类型

1.JS类型分为两大类:基础类型、引用类型

(1)基础类型:String、Number、Boolean、null、undefined、symbol
(2)引用类型:Object

2.常用判断类型的方式

(1)typeof

    let a ;
    a = '';
    console.log(typeof a);  //string
    a = 1222;
    console.log(typeof a);  //number;
    a = undefined;
    console.log(typeof a);  //undefined;
    a = null;
    console.log(typeof a);  //object;
    a = [1,2,3];
    console.log(typeof a);  //object;
    a = true;
    console.log(typeof a);  //boolean
    a = ()=>{};
    console.log(typeof a);  //function
    a = NaN;
    console.log(typeof a);  //number;

以上可见typeof会返回的数据类型string、number、boolean、undefined、object、function;
特别注意是null,返回的类型也是object,对于一些创建对象都会返回object

(2)instanceof

     let a;
     a = [];
    console.log(a instanceof Array);  //true;
    console.log(a instanceof Object);  //true;
    a = {};
    console.log(a instanceof Object);  //true;
    a = new Date();
    console.log(a instanceof Date); //true
    a = ()=>{};
    console.log(a instanceof Function); //true

以上可见instanceof用于判断对象的具体类型,返回的是布尔值,检测的是原型

(3)constructor

    console.log(''.constructor === String); //true
    console.log([].constructor === Array);//true
    console.log({}.constructor === Object);//true
    console.log(new Date().constructor === Date);//true
    console.log(true.constructor === Boolean);//true

以上可见,可以利用原型对象上的constructor来判断类型,特别注意,undefinded、null是无效对象,因此是没有constructor函数的;同时因为 prototype是可以重写的,当开发者重写后,原有的constructor引用丢失,constructor会默认是object

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值