Javascript 为什么es6集合原型有值方法?

Javascript 为什么es6集合原型有值方法?,javascript,ecmascript-6,Javascript,Ecmascript 6,描述存在与对象相似的值。我理解它所说的,但我不明白为什么需要这种相似性?以下是文档中的引用: keys()方法是此方法的别名(用于与贴图对象的相似性);它的行为完全相同,并返回集合元素的值 这意味着还有另一种方法,Set.prototype.keys(),它是这个方法(Set.prototype.values())的别名,因此Set对象将更类似于Map对象,它们的原型上有这两种方法。因为集的值是唯一的,它们可以被认为是钥匙 为什么需要这种相似性 不知道为什么会有人想要它。在我看来,最好不要有这种

描述存在与对象相似的值。我理解它所说的,但我不明白为什么需要这种相似性?

以下是文档中的引用:

keys()方法是此方法的别名(用于与贴图对象的相似性);它的行为完全相同,并返回集合元素的值


这意味着还有另一种方法,
Set.prototype.keys()
,它是这个方法(
Set.prototype.values()
)的别名,因此Set对象将更类似于Map对象,它们的原型上有这两种方法。

因为
的值是唯一的,它们可以被认为是钥匙

为什么需要这种相似性


不知道为什么会有人想要它。在我看来,最好不要有这种选择。

这种方法有什么问题?为什么不放弃
方法呢?毕竟,集合确实包含值而不是任何键?这就是我的意思-
的引入是为了与
映射
相似,而不是相反。所有容器都共享一系列方法,包括
数组
。您希望
Set
分开吗?将任意容器传递给函数不是很方便吗?