typeof和instanceof的区别

一、typeof取值类型范围

1、string

console.log(typeof("abc"))

2、number

console.log(typeof(123))

3、boolean

console.log(typeof(true))

4、undefined

console.log(typeof(x))

5、object

 console.log(typeof({a:10,b:20}))

6、function

console.log(typeof(function(){}))

7、symbol (ES6新增)

 console.log(typeof Symbol())

二、typeof和instanceof的区别

1、typeof

typeof运算符可以返回一个数据类型

 <script>
           console.log(typeof 123)  //number
           console.log(typeof '123')  //string
           console.log(typeof false)   //boolean
           console.log(typeof(x))      //undefined
           console.log(typeof([1,'a',true]))    //object
           console.log(typeof({a:10,b:20}))     //object
           console.log(typeof(null))          //object
           console.log(typeof(new Number(10)))   //object
           console.log(typeof(function(){}))    //function
           console.log(typeof Symbol())         //Symbol
    </script>

返回类型
在这里插入图片描述
在上述中array和object显示都是object那他们要怎么去区分呢?

2、instanceof

instanceof可以识别继承的类型

<script>
        var items = []; 
        var object = {}; 

        function reflect(value) { 
        return value; 
        } 

        console.log(items instanceof Array);        //true
        console.log(items instanceof Object);       //true
        console.log(items instanceof Function);     // false
        console.log(object instanceof Object);      //true
        console.log(object instanceof Array);       //false
        console.log(object instanceof Function) ;   //false
        console.log(reflect instanceof Function);   // true
        console.log(reflect instanceof Array);      //false
        console.log(reflect instanceof Object);     //true
    </script>

上述生成结果
在这里插入图片描述

总结上述:type:值类型判断用typeof,返回一个数据类型;instanceof引用类型的类型判断用instanceof,可以识别继承类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值