es6基本数据类型有哪些,es6原始数据类型有几种

  es6基本数据类型有哪些,es6原始数据类型有几种

  本教程运行环境:windows7系统,ECMAScript版本6,Dell G3电脑。

  ES6新增的数据类型

  type Symbol(basic)Set type(complex)Map type(complex)weak Set type(complex)weak Set type(complex)typed array type(complex)我们来看看es6之前都有哪些数据类型。

  基本类型:

  线

  空

  不明确的

  数字

  布尔型

  复杂类型:

  目标

  由于新型在正常工作中基本不使用,具体介绍直接以MDN的专业讲解为准。下面是一些面试中经常遇到的问题。

  

Q1:怎么让一个对象具有一个私有属性?(Symbol有什么用?)

  回答:用符号作为对象的关键就可以了。

  {//私有范围

  设a=符号()

  window.oo={

  名称:“对象”,

  年龄:18,

  [a]:这是私人财产

  }

  Console.log(oo[a]) //这是一个私有属性

  }

  //不能再超范围打印了.此时,对象oo具有私有属性,在范围之外无法正确打印。

  

Q2:怎么快速去重一个数组?

  答案:用Set添加Array.form()

  这是一个经典的面试问题。在此之前,我们先说说es6之前的重复数据删除方法:

  设数组=[1,2,3,4,4,5,5,6]

  ~function uniq() {

  假设结果=[]

  设哈希={}

  for(设I=0;iarray.lengthi ) {

  哈希[数组[i]]=真

  }

  for(让键进入散列){

  result.push(按键)

  }

  console.log(结果)

  回送结果

  }()

  但是,这种方法有一个巨大的缺点,因为经过重复数据消除的阵列中不能有任何对象,并且这种方法返回的结果都是字符串,因此不可能对这样的阵列进行重复数据消除。

  当我们使用Set时

  让a={a: 11}

  设array=[0,1, 1 , 22 ,22,a,a,66]

  ~function uniq() {

  返回数组。from(new set(array))//按比例写[.新集合(数组)]

  }()

  甚至可以删除对象的引用。这是一个非常简单的方法。

  

Q3:Map有啥用?

  回答:地图更像是一个物体的延伸。它的key可以是任意类型,不像前面的对象只能是字符串,也就是这个特性。我们可以优化之前的重复数据消除,但没有必要,因为已经有一个集合。

  给我一个栗子

  让我的地图=新地图()

  让keyObj={}

  设keyFunc=function () {}

  设keyString=一个字符串

  //添加密钥

  MyMap.set(keyString,与键 a string 关联的值);

  MyMap.set(keyObj,与key keyObj关联的值);

  MyMap.set(keyFunc,与key keyFunc关联的值);

  

Q4:WeakMap 和 Map 的区别?

  回答:

  WeakMap的区别在于对key的引用弱。

  WeakMap的键只能是一个对象。

  你需要知道什么是弱引用:

  文章:ES2015 WeakMap的学习和使用

  

Q5:WeakSet 和 Set 的区别?

  回答:同上

  

Q6:TypedArray 有什么用?

  答:这种类型用的方式比较少。它主要用于处理二进制文件(音频、文件、视频、图片.),一般不用,除非自己开发轮子。

  【推荐学习:javascript高级教程】以上是es6中新增数据类型的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: