wangbinze / Daily---3and1

0 stars 0 forks source link

❤️❤️❤️Question020 -JavaScript、JS中的集合引用类型有哪些,分别介绍一下 #20

Open wangbinze opened 3 years ago

wangbinze commented 3 years ago

JS中的集合引用类型有哪些,分别介绍一下

wangbinze commented 3 years ago

js中的集合引用类型主要有:

Object

显式地创建Object的实例的两种方式:

Object东西比较多,后续会相信的针对Object进行学习后知识点的梳理。

Array

一组有序的数据,数组中每个槽位可以存储任意类型的数据。动态大小,会随着数据添加而自动增长。

创建数组

数组索引

数组 length 属性的独特之处在于,它不是只读的。通过修改 length 属性,可以从数组末尾删除或添加元素。

Array东西比较多,后续会相信的针对Array进行学习后知识点的梳理。

定型数组

定型数组(typed array)是 ECMAScript 新增的结构,目的是提升向原生库传输数据的效率。实际上,JavaScript 并没有“TypedArray”类型,它所指的其实是一种特殊的包含数值类型的数组。

一个提供JavaScript 接口的、C 语言风格的浮点值数组。早期主要用于WebGL。

主要用于三维开发中的使用,如果感兴趣可自行了解。

Map

作为 ECMAScript 6 的新增特性,Map 是一种新的集合类型,为这JavaScript带来了真正的键/值存储机制。Map 的大多数特性都可以过 Object 类型实现,但二者之间还是存在一些细微的差异。

与 Object 只能使用数值、字符串或符号作为键不同,Map 可以使用任何 JavaScript 数据类型作为键。

与 Object 类型的一个主要差异是,Map 实例会维护键值对的插入顺序,因此可以根据插入顺序执行迭代操作。

WeakMap

ECMAScript 6 新增的“弱映射”(WeakMap)是一种新的集合类型,为这门语言带来了增强的键/值对存储机制。WeakMap 是 Map 的“兄弟”类型,其 API 也是 Map 的子集。WeakMap中的“weak”(弱),描述的是 JavaScript 垃圾回收程序对待“弱映射”中键的方式。

弱映射中的键只能是 Object 或者继承自 Object 的类型,尝试使用非对象设置键会抛出TypeError。值的类型没有限制。

Set

ECMAScript 6 新增的 Set 是一种新集合类型,为这门语言带来集合数据结构。Set 在很多方面都像是加强的 Map,这是因为它们的大多数 API 和行为都是共有的。

WeakSet

ECMAScript 6 新增的“弱集合”(WeakSet)是一种新的集合类型,为这门语言带来了集合数据结构。