kra*_*ave 3 javascript weakmap
我一直在阅读有关 WeakMap 的 MDN 文档。它提到了语法:
new WeakMap([iterable])
但是当我尝试这样做时,出现了错误:
var arr = [{a:1}];
var wm1 = new WeakMap(arr);
Run Code Online (Sandbox Code Playgroud)
未捕获的类型错误:用作弱映射键的值无效
您能为我提供一个有关如何通过数组执行此操作的示例吗?
文档说:
Iterable 是一个数组或其他可迭代对象,其元素是键值对(2 元素数组)。
{a: 1}是一个对象,而不是 2 元素数组。
再往下写着:
WeakMap 的键只能是 Object 类型。
所以你不能使用字符串作为 中的键WeakMap。
尝试:
var obj = {a:1};
var arr = [[obj, 1]];
var wm1 = new WeakMap(arr);
console.log(wm1.has(obj));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2658 次 |
| 最近记录: |