let hash = new WeakMap(); // 弱引用映射表
// 设置数据
function setData(target, val) {
if (hash.has(target)) return hash.get(target);
hash.set(target, val);
console.log("you are set data");
setData(target, val); //递归调用 => 不会再为对象添加已有的相同属性
return obj;
}
let preson = {
name: "Jane",
age: 18
}
let obj = {
say: {
msg: "哈哈"
}
}
console.log(setData(preson, obj));
es6中的WeakMap弱引用实践 避免在同一个对象重复定义属性
猜你喜欢
转载自blog.csdn.net/oQieBaoChaYinZuo/article/details/106405904
今日推荐
周排行