本文小编为大家详细介绍“新增的es6数据结构是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“新增的es6数据结构是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 新增结构有:1、Symbol,表示独一无二的值,是一个函数结构;2、Set,指的是“集合”结构,类似数组,允许存放无序且不能重复的数据;3、WeakSet,类似Set,内部数据也不能有重复值;4、Map,指的是“字典”结构,可存储映射关系。本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。1、SymbolSymbol
是ES6
中新增的一个基本数据类型之一,它是一个函数。每一个从Symbol
函数返回的Symbol
值都是独一无二的,symbol
值作为对象属性的标识符,也是唯一的用途的。symbol作为key第一种方式,直接在对象的字面量中添加。第二种方式,通过添加数组方式添加。第三种方式,通过对象中的defineProperty
方法添加。通过symbol获取对应的值需要用数组方式来获取,不能通过点语法,否则会获取到字免费云主机域名符串key。symbol
不能被隐式转换成string
类型。注意:Symbol函数中的参数是symbol描述符,这是在ES10新增的特性我们不能直接alert
一个symbol
对象,但是我们可以通过toString
的方式或者.description
来获取symbol
对象的描述符。遍历symbol在使用for
遍历、object.keys
中是获取不到symbol
健的,对此object
还提供了getOwnPropertySymbols
方法,用于获取对象中所有symbol的key。全局symbol对象注册有时,我们可能需要多个symbol
的值是一致的,我们可以通过symbol
提供的静态方法for
方法传入一样的描述符来使它们的值一致。Symbol.for该方法会在使用给定键搜索运行时符号注册表中的现有符号,并在找到时返回它。否则,使用此键在全局符号注册表中创建一个新符号。Symbol.keyFor该方法用于获取全局symbol
的描述符。2、SetSet
对象(类似数组)允许你存放任何数据类型,但里面的值不能重复。Set常用方法3、WeakSetWeakSet
是类似Set
的另外一种数据结构,内部数据也不能有重复值。它与Set
的区别WeakSet
只能存放对象类型,不能存放基本数据类型WeakSet
对元素是弱引用基本使用WeakSet常用方法关于遍历WeakSet
不能被遍历,因为它只是对对象进行弱引用,如果遍历去获取元素,有可能导致对象不能被GC
回收。所以WeakSet
中的对象是不能获取的4、MapES6
新增的数据结构,用于存储映射关系。我们知道在JavaScript
中对象中是不能用对象来作为key
的。(假如我们把对象作为key
,其内部会将对象转换为字符串[object object]
)而Map
则可以把对象作为key
进行存储,可以通过set
方法添加到Map
中,也直接通过字面量的方式添加。Map常用方法遍历Map通过foreach
语句遍历Map
通过for..of
遍历Map
5、WeakMap和Map
类似,也是以键值对的形式存在的和Map的区别WeakMap
的key
只能使用对象,不接受其他的类型作为key
WeakMap
的key
对对象是弱引用基本使用WeakMap常用方法关于遍历和WeakSet
一样,正因为它是弱引用,WeakMap
的key
是不可枚举的,如果key
可枚举那其列表将会受GC
影响。读到这里,这篇“新增的es6数据结构是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
这篇“Angular中的NgModule怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Angular中的NgModule怎么使用”文章吧…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。