WeakMap & WeakSet

What advantage does using WeakMap provide in this memoization implementation?
const memo = new WeakMap();

function memoize(fn) {
  return function(obj) {
    if (!memo.has(obj)) {
      memo.set(obj, fn(obj));
    }
    return memo.get(obj);
  };
}
Next Question (10/20)