给 JS 程序员解释为什么 Map 类型允许不同类型数据作为 Key?
String 类型作为 Key 不是已经够用了吗, 为什么要各种类型的呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
String 类型作为 Key 不是已经够用了吗, 为什么要各种类型的呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
在从C到Lisp的这根“动态能力”的坐标轴上,Java是坐在C++旁边的最不动态的一族,而JS是在非Lisp系的语言中最靠近Lisp的最动态的一族。所以题主可以先去找一些lisp黑客写的抨击GoF的文章,我这里简单提一下大意『设计模式就是Java太傻了不得不绕大圈子来约定碰到Java的缺陷的时候应该怎么办』
偏题了。正如评论所说Map的初衷是一个对象到另一个对象的映射,如果仅限string key,那么势必需要把对象抽象成一个唯一的string来表示,很多时候这件事很傻。那为什么JS程序员几乎感觉不到这个需求呢?我认为是因为在JS的世界里,很多时候要做这样的映射,直接赋值就完事儿了
vs
那么前者的好处在哪里呢?自然是可以把这组映射本身作为一个对象来维护,比如很容易同时存在两个map对象描述两套师生搭配的方案,或者可以直接把这种映射保存到某个地方