前言
Set
和 Map
是 ES6 中新增的两种数据结构,它们分别用于存储唯一值和键值对。在 ECMAScript 2021 中,Set
和 Map
增加了一些新特性和方法,本文将为读者详细介绍这些新特性和方法,以及如何使用它们。
Set 的新特性
size 属性支持 BigInt 类型
在 ECMAScript 2021 中,Set
实例的 size
属性支持 BigInt 类型,可以存储更大的值。现在可以使用下面的代码创建一个 Set
实例,并且添加超过 Number.MAX_VALUE
的元素。
----- ------ - --- ------ --- ---- - - --- - - -------- ---- - -------------- - ------------------------- -- -------
add()
方法可以返回 Set
实例本身
在 ECMAScript 2021 中,add()
方法可以返回 Set
实例本身,方便链式调用其他方法。例如,可以使用下面的代码创建一个 Set
实例,并且在一行代码中添加元素,然后 删除元素,并且返回 Set
实例本身。
----- ----- - --- ------------------------------------------------- ------------------- -- --- - -------- -
forEach()
方法可以接受第二个参数
在 ECMAScript 2021 中,forEach()
方法可以接受第二个参数,该参数为可选的回调函数,用于设置回调函数内的 this 值。例如,可以使用下面的代码创建一个 Set
实例,并且使用箭头函数作为回调函数,在回调函数内部访问 this
值。
----- ----- - --- ------------- --------- ----------- --------------------- -- - --------------------- -- - -------- ------ -- - ----- ------- ---
输出结果:
----- -- - ------ - ----- ------- - ------ -- - ------ - ----- ------- - ------ -- - ------ - ----- ------- -
Map 的新特性
size 属性支持 BigInt 类型
和 Set
一样,Map
实例的 size
属性也支持 BigInt 类型,在 ECMAScript 2021 中可以存储更大的键值对数目。例如,可以使用下面的代码创建一个 Map
实例,并且添加超过 Number.MAX_VALUE
的键值对。
----- ------ - --- ------ --- ---- - - --- - - -------- ---- - ------------- -------------- - ------------------------- ---------
set()
方法可以返回 Map 实例本身
在 ECMAScript 2021 中,set()
方法可以返回 Map
实例本身,方便链式调用其他方法。例如,可以使用下面的代码创建一个 Map
实例,并且在一行代码中添加键值对,然后 删除键值对,并且返回 Map
实例本身。
----- ----- - --- -------------- ----------- --------------- ------------------- -- --- - --- -- - -
forEach()
方法可以接受第二个参数
在 ECMAScript 2021 中,forEach()
方法可以接受第二个参数,该参数为可选的回调函数,用于设置回调函数内的 this 值。例如,可以使用下面的代码创建一个 Map
实例,并且使用箭头函数作为回调函数,在回调函数内部访问 this
值。
----- ----- - --- ----- ----- --- ----- --- ----- --- --- --------------------- ---- -- - ------------------- -- ----------- ------ -- - ----- ------- ---
输出结果:
- -- -- - ----- ------- - - -- -- - ----- ------- - - -- -- - ----- ------- -
总结
ECMAScript 2021 对于 Set
和 Map
的更新仅仅是一些小的特性和方法的增加,但这些特性和方法在真实的开发中确实能够带来更多的便利和灵活性。建议开发者学习和掌握这些新特性和方法的使用,以便更好地提升开发效率和代码的可读性。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6657ecb7d3423812e4d98160