วิธีการที่ชัดเจนบนอ่อนแอจะลบคู่คีย์/ค่าทั้งหมดออกจากวัตถุ WeakMap
วิธีนี้ถูกลบออกจากข้อมูลจำเพาะและสามารถเพิ่มกลับได้โดยการห่อวัตถุ WeakMap ด้วยการสนับสนุนเพิ่มเติมสำหรับวิธีการที่ชัดเจน
ตัวอย่าง
class ClearableWeakMap {
constructor(init) {
this._wm = new WeakMap(init)
}
clear() {
this._wm = new WeakMap()
}
delete(k) {
return this._wm.delete(k)
}
get(k) {
return this._wm.get(k)
}
has(k) {
return this._wm.has(k)
}
set(k, v) {
this._wm.set(k, v)
return this
}
}