美文网首页
WeakMap私有数据的管理

WeakMap私有数据的管理

作者: 姜治宇 | 来源:发表于2024-04-10 16:16 被阅读0次

当你需要为对象关联一些私有数据,但又不想这些数据出现在对象的属性链上时,可以使用WeakMap。例如,你可以使用WeakMap来存储组件的私有状态或元数据,而不污染组件的原型链。

const privateData = new WeakMap();

function MyClass() {
  // 私有数据不会暴露在MyClass的实例上
  privateData.set(this, { count: 0 });
}

MyClass.prototype.increment = function() {
  const data = privateData.get(this);
  data.count++;
};

const obj = new MyClass();
obj.increment();
obj.increment();
obj.increment();

const data = privateData.get(obj);
console.log(data);//{count: 3}

相关文章

网友评论

      本文标题:WeakMap私有数据的管理

      本文链接:https://www.haomeiwen.com/subject/qbgqxjtx.html