WeakMap.prototype.clear() xóa tất cả cặp key/value khỏi WeakMap.
Lưu ý quan trọng: Phương thức này đã bị loại khỏi spec (ES6+ không còn chuẩn). Nếu cần, tự implement wrapper:
class ClearableWeakMap {
constructor(init) {
this._wm = new WeakMap(init);
}
clear() {
this._wm = new WeakMap(); // tạo instance mới rỗng
}
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; }
}
Tại sao bị xóa? WeakMap key yếu (weak reference) — không thể liệt kê key nên không thể clear an toàn. Tạo instance mới là cách duy nhất.