理解Map.prototype javascript
大家好..。我已经通过了许多示例和教程来理解Map.prototype实际上代表的是什么。在一些博客中,我看到它代表Map对象,但是如果我在同一个文件中创建了两个Map对象,它会引用哪一个?谁能告诉我下面的条件是什么意思?
var temp = Map.prototype ? new Map() : {} ;他们是否检查是否创建了Map的任何对象?如果是,则创建新对象?
发布于 2016-12-29 00:15:57
这种情况非常奇怪,原因不止一个。
Map是否被它运行的JavaScript引擎支持(Map是在ES2015中引入的,并不是所有的引擎都有),但是检查是有缺陷的,如果实现没有Map,实际上会抛出一个错误。检查至少应为:var temp =类型映射!=“未定义”&& Map.prototype?new Map():{};
temp,它可能是一个普通对象,也可能是一个Map实例。但是您使用Map实例和普通对象的方式不同,所以这样做很奇怪。坦率地说,我不会担心这一行(我会对它和它周围的代码保持警惕)。
我已经通过了许多示例和教程来理解Map.prototype实际上代表的是什么。我已经通过了许多示例和教程来理解Map.prototype实际上代表的是什么。在一些博客中,我看到它代表Map对象,但是如果我在同一个文件中创建了两个Map对象,它会引用哪一个?
Map.prototype引用的对象是将用作Map实例原型的对象。这就是:
let m1 = new Map();
let m2 = new Map();这两个实例将共享相同的底层原型对象,也就是Map.prototype引用的对象。
该底层原型为实例提供了各种功能,如get和` `set方法。
您的问题的这一方面在中有更详细的介绍。
https://stackoverflow.com/questions/41365733
复制相似问题