JS中的Map()和weakMap()小例子

本文详细介绍了JavaScript中的Map和weakMap数据结构,包括它们的区别(Map的Size属性、键的类型和行为,以及weakMap的弱引用特性),并展示了如何操作和使用它们。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//Map和weakMap
//Map和它的方法使用
// 有Size属性
const users = new Map();

// String as key
users.set("John",{address:"John's Address"});

// Object as key
const obj = { name: "Michael"};
users.set(obj, {address: "Michael's Address"});

// Function as key
const func = () => "Andrew";
users.set(func, {address: "Andrew's Address"});

// NaN as key
users.set(NaN, {address: "NaN's Address"});

const contacts = new Map();
contacts.set("Jessie", { phone: "213-555-1234", address: "123 N 1st Ave" });
contacts.has("Jessie"); // true
contacts.get("Hilary"); // undefined
contacts.delete("Raymond"); // false
console.log(contacts.size); // 1


//WeakMap **`WeakMap`** 对象是一组键/值对的集合,其中的键是弱引用的。<u>其键必须是对象,而值可以是任意的
//无Size属性,可以被垃圾回收,当没引用的时候,无序不保留状态

const test = new WeakMap();
const o1 = function(){}
test.set(o1, {name: "test"});
test.has(o1); //true
test.delete(o1);
test.has(o1); //false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值