Memory Management & Garbage Collection

From a memory perspective, what advantage does betterCloneObject have over cloneObject?
function cloneObject(obj) {
  return JSON.parse(JSON.stringify(obj));
}

function betterCloneObject(obj) {
  if (obj === null || typeof obj !== 'object') {
    return obj;
  }
  
  const clone = Array.isArray(obj) ? [] : {};
  
  for (const key in obj) {
    if (Object.prototype.hasOwnProperty.call(obj, key)) {
      clone[key] = betterCloneObject(obj[key]);
    }
  }
  
  return clone;
}
Next Question (34/40)