首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解javascript中的prototype或Map.prototype

理解javascript中的prototype或Map.prototype
EN

Stack Overflow用户
提问于 2016-12-29 00:08:39
回答 1查看 30关注 0票数 0

理解Map.prototype javascript

大家好..。我已经通过了许多示例和教程来理解Map.prototype实际上代表的是什么。在一些博客中,我看到它代表Map对象,但是如果我在同一个文件中创建了两个Map对象,它会引用哪一个?谁能告诉我下面的条件是什么意思?

代码语言:javascript
复制
var temp = Map.prototype ? new Map() : {} ;

他们是否检查是否创建了Map的任何对象?如果是,则创建新对象?

EN

回答 1

Stack Overflow用户

发布于 2016-12-29 00:15:57

这种情况非常奇怪,原因不止一个。

  1. 它看起来像是在尝试看看Map是否被它运行的JavaScript引擎支持(Map是在ES2015中引入的,并不是所有的引擎都有),但是检查是有缺陷的,如果实现没有Map,实际上会抛出一个错误。检查至少应为:

var temp =类型映射!=“未定义”&& Map.prototype?new Map():{};

  • 最终结果是temp,它可能是一个普通对象,也可能是一个Map实例。但是您使用Map实例和普通对象的方式不同,所以这样做很奇怪。

坦率地说,我不会担心这一行(我会对它和它周围的代码保持警惕)。

我已经通过了许多示例和教程来理解Map.prototype实际上代表的是什么。我已经通过了许多示例和教程来理解Map.prototype实际上代表的是什么。在一些博客中,我看到它代表Map对象,但是如果我在同一个文件中创建了两个Map对象,它会引用哪一个?

Map.prototype引用的对象是将用作Map实例原型的对象。这就是:

代码语言:javascript
复制
let m1 = new Map();
let m2 = new Map();

这两个实例将共享相同的底层原型对象,也就是Map.prototype引用的对象。

该底层原型为实例提供了各种功能,如get和` `set方法。

您的问题的这一方面在中有更详细的介绍。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41365733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档