原始类型和对象类型

目录

1.原始类型有哪几种?

2.null是不是对象?

3.对象类型和原始类型的不同之处?函数参数是对象会发生什么问题?

4.typeof 是否能正确判断类型?instanceof 能正确判断对象的原理是?

5.最后给大家补充一下六个假值


1.原始类型有哪几种?

答:总共有6种,分别为:Number,Boolean,String,Symbol,undefined,null

2.null是不是对象?

console.log(typeof null);//object

答:不是,虽然 typeof null 返回的值是 object,但是null不是对象,而是基本数据类型的一种。 基本数据类型存储在栈内存,存储的是值。

3.对象类型和原始类型的不同之处?函数参数是对象会发生什么问题?

答:原始类型存储值,存于栈中,对象类型存储指针,存于堆中;

函数参数是对象时,由于变量中存的是指针,因此函数中对于对象类型中的值的变化也会在全局中体现。

4.typeof 是否能正确判断类型?instanceof 能正确判断对象的原理是,并说出它们区别?

typeof判断对象,除了function都会显示object,所以typeof并不能准确地判断变量类型,判断基本数据类型当中的数字、字符串、布尔、undefined以及函数可以准确判断

    console.log(typeof 222);//number
    console.log(typeof 'jingxiao');//string
    console.log(typeof true);//boolean
    console.log(typeof undefined);//undefined
    console.log(typeof Symbol());//symbol
    console.log(typeof Function);//function

instanceof 可以用instanceof判断对象的正确类型,它的内部机制是通过原型链来判断的。 

区别:

typeof会返回一个变量的基本类型,instanceof返回的是一个布尔值

instanceof 可以准确地判断复杂引用数据类型,但是不能正确判断基础数据类型

而typeof 也存在弊端,它虽然可以判断基础数据类型(null 除外),但是引用数据类型中,除了function 类型以外,其他的也无法判断

5.最后给大家补充一下六个假值

false、null、0、“”、undefined 和 NaN

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值