ES6中引入了多种新的数据类型,主要包括以下几种:
文末有我帮助400多位同学成功领取到前端offer的场景题哦
- Symbol:
- Symbol 是一种唯一的、不可变的数据类型,用于生成唯一的标识符。
- 它通常用作对象属性的键,以避免命名冲突。
- Map:
- Map 是一种有序的键值对集合。
- 它类似于普通对象,但键可以是任意数据类型,而不仅限于字符串。
- 提供了许多实用的方法,如
set
、get
、has
、delete
和clear
等。
- Set:
- Set 是一种无重复值的有序列表。
- 它类似于数组,但不允许重复的元素。
- 提供了添加、删除和检查成员等操作的便捷方法。
- WeakSet 和 WeakMap:
- 这两种类型与 Set 和 Map 类似,但它们是“弱”集合,这意味着它们对值的引用是“弱”的,不会阻止垃圾回收器回收这些值。
- 这在需要临时存储对象引用但不希望影响对象生命周期的场景中非常有用。
- TypedArray:
- TypedArray 是用来表示一个类型化数组的数据类型。
- 它提供了一种用于处理二进制数据的机制,允许开发者以特定的数值类型(如 Int8、Uint8、Float32 等)来存储和操作数据。
- 这对于处理二进制数据、WebGL、图像处理等场景非常有用。
请注意,虽然 WeakSet
和 WeakMap
以及 TypedArray
也在ES6中被引入,但它们在日常开发中的使用并不像 Symbol、Map 和 Set 那么普遍。在大多数情况下,Symbol、Map 和 Set 足以满足大多数的数据结构需求。
堪称2024最强的前端面试场景题,让421人成功拿到offer