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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。