Memory Management & Garbage Collection

Why is WeakMap appropriate for this caching implementation?
const userCache = new WeakMap();

function getUser(userObject) {
  if (!userCache.has(userObject)) {
    userCache.set(userObject, {
      name: userObject.name,
      accessCount: 0,
      lastAccess: Date.now()
    });
  }
  
  const userData = userCache.get(userObject);
  userData.accessCount++;
  userData.lastAccess = Date.now();
  
  return userData;
}
Next Question (32/40)