JS的内置类型

JS

内置类型

js中分为七种内置类型,七种内置类型又分为两大类型;
基本类型和对象(object)。
基本类型有六种:null,undefined,boolean,number,string,symbol
其中js的数字类型是浮点类型,没有整型。并且浮点类型基于IEEE754标准实现,在使用中会遇到某些bug。NAN也属于number类型,并且NAN不等于自身。
对于基本类型来说,如果使用字面量的方式,那么这个变量只是个字面量,只有在必要的时候才会转换为对应的类型

let a=111     //这只是字面量,不是number类型
a.toString() //使用的时候才会转换为对象类型

对象(object)是引用类型,在使用过程中会遇到浅拷贝和深拷贝的问题

let a={name:'kk'}
let b=a
b.name='kk'
console.log(a.name) //kk
typeof

typeof 对于基本类型,除了 null 都可以显示正确的类型

typeof 1            //number
typeof '1'         //string
typeof undefined  //undefined
typeof true   	 //boolean
typeof symbol() //symbol
typeof b       //b没有声明,但是还会显示undefined

typeof 对于对象,除了函数都会显示object

typeof []   //object
typeof {}   //object
typeof console.log  //function

对于null来说,虽然它是基本类型,但是会显示object,这是一个存在很久的bug

typeof null //object

如果我们想获得一个变量的正确类型,可以通过Object.prototype.toString.call(xx)。这样就可以获取类似[Object type]的字符串

let a   //我们也可以这样判断undefined
a === undefined //但是undefined不是保留字,能够在低版本浏览器被赋值
let undefined = 1 //这样判断就会出错 可以用下面的方式来判断,并且代码量更少
a === void 0 //void后面随便跟上一个组成表达式  返回就是undefined


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值