gpt4 book ai didi

javascript - 理解 JavaScript 中的原型(prototype)或 Map.prototype

转载 作者:行者123 更新时间:2023-12-03 05:21:22 25 4
gpt4 key购买 nike

理解 Map.prototype javascript

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

var temp = Map.prototype ? new Map() : {} ;

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

最佳答案

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

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

    var temp = typeof Map != "undefined" && Map.prototype ? new Map() : {} ;
  2. 最终结果是您拥有 temp,它可能是一个普通对象,也可能是一个 Map 实例。但您使用 Map 实例和普通对象的方式不同,因此这样做很奇怪。

坦率地说,我不会担心那一行(而且我会对它及其周围的代码保持警惕)。

I have gone through many example and tutorials to understand what Map.prototype actually represents.. I have gone through many example and tutorials to understand what Map.prototype actually represents.. in some blogs i saw that it represents Map object but if i have created two Map objects in the same file which one it will refer to?

Map.prototype 引用的对象是将用作 Map 实例原型(prototype)的对象。即:

let m1 = new Map();
let m2 = new Map();

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

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

您的问题的这方面在How does JavaScript .prototype work?中有更详细的介绍。 .

关于javascript - 理解 JavaScript 中的原型(prototype)或 Map.prototype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41365733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com