buckets.Dictionary与使用数组相比有什么优势?

时间:2014-04-27 16:23:11

标签: javascript dictionary collections typescript

对于javascript,有buckets和打字稿typescript-collections。对于很多课程,我看到了优势。但是使用Dictionary类而不是javascript关联数组有什么好处?

我不是要诋毁这两个库,只是为了理解差异所以我会更好地理解javascript。

1 个答案:

答案 0 :(得分:2)

总的来说,当人们使用多种语言时,他们喜欢在这些语言之间传输模式。这是判断这是好事还是坏事的判断 - 在许多情况下,移植到该语言的特征来自另一种范式,并且实际上可能会影响它被转移到的语言概念。

在不好的情况下,转移不尊重目标语言(即,有更好的方法可以在不编写不必要的类的情况下实现相同的结果)。在最糟糕的情况下,转移不尊重源语言。我已经看到几次尝试将C#Linq扩展转移到JavaScript,它们立即处理Linq查询并将结果存储在第二个数组中 - Linq的一个好处是它会在枚举结果时处理查询,这样可以获得更多数据要处理,可以存储在内存中(作为一个例子)。

我以前移植过功能,主要是为了好玩,因为这是一种有趣的学习体验(例如,我写了Linq example to demonstrate the problem with other Linq examples that were being posted)。

如果正在传输某个功能或模式以使目标语言更加熟悉,则可能是出于错误的原因。

如果它正在转移,因为它添加了一个受到另一种语言的良好模式启发所需的功能,那很好。对此进行的酸测试是否可以避免重复样板代码,例如在添加样板代码之前检查现有阵列中的内容。