📜  如何理解 JavaScript 中的 WeakMap?

📅  最后修改于: 2022-05-13 01:56:26.805000             🧑  作者: Mango

如何理解 JavaScript 中的 WeakMap?

WeakMap 对象存储键/值对。键应该是对象,值也可以是任何东西。在 JavaScript 中,可以使用 2 个数组来设计地图 API,一个用于键,一个用于由四个 API 函数共享的值。在此地图上设置部分需要同时在每个数组的顶部插入一个键和值。因此,键和值索引将对应于每个数组。

要从映射中获取值,请遍历所有键直到找到匹配项,然后使用该匹配项的索引从值数组中提取关联项。 Map 和 keys 之间的优势在于,keys 应该是对象,并且只被 debile 引用。这表明如果没有对键的任何额外的健壮引用,垃圾收集器可以删除 WeakMap 中的部分。

句法:

new WeakMap([iterable])

参数: WeakMap Object() 接受一个可以是任何可迭代对象的参数。例如,一个包含键/值对作为二元素数组的数组。

示例 1:获取与键相关的值 –使用.get()函数检索与键相关的值。如果没有值与键连接,则返回 undefined。

Javascript


Javascript


Javascript


Javascript


输出:

示例 2:将值放在键上 –使用.set()函数为键分配值。它返回 WeakMap 对象,允许您使用 chain.set() 命令。

Javascript


输出:

示例 3:验证是否存在具有键的元素 -使用.has()函数来设想是否存在具有精确键的元素在 WeakMap 中。如果存在,则返回 true,否则返回 false。

Javascript


输出:

示例 4:使用键删除元素要删除具有精确键的元素,请使用.delete()方法。如果组件存在并被删除,则返回 true,否则返回 false。

Javascript


输出: