JavaScript中数据类型

基本数据类型:字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol、Bigint
引用数据类型:对象(Object)(包括:数组(Array)、函数(Function))

Tipes:

 Symbol、Bigint是在ECMAScript6和以后的版本新增。Object类型是一个基础类型,除此之外的引用类型都从它继承了基本的行为。

 

基本数据类型和引用数据类型有啥区别?

基本数据类型只包括自身一般存储在栈内存中,任何方法都不能修改基本数据类型本身的值,都是返回了一个新的。引用数据类型包括指针和内容,指针存储在栈内存,内容存储在堆内存。

 

怎么判断数据是什么类型?

  • typeof:通过查找js底层的实现,所以只能判断出后面这几种。〈000:对象、010:浮点数、100:字符串、110:布尔、1:整数〉判断null为对象:所有机器码均为0 所以判断null会判断为对象。

  • instanceof:沿着原型链判断左边的原型链是否拥有和右边原型相同的指针,有的话就是相等,没有的话就是不相等,用它可以直接判断是不是数组。

  • Array.isArray():封装了Object.prototype.toString.call(),专门判断是不是数组。

  • Object.prototype.toString.call():原始数据类型在创建的时候都会有一个内部属性[[class]],这个属性表示数据类型的种类,Object.prototype.toStrin方法能访问到这个属性会返回这个内部属性(es6之后删除了[[class]],用[NativeBrand],实现效果更加兼容)。

 

 

 

 

 

转载标明出处哦 大家一起加油~~~

posted @ 2021-12-03 16:20  腾teng  阅读(77)  评论(0)    收藏  举报