How can you create a deep clone of an object using recursion?
function cloneObject(obj) {
if (typeof obj !== "object" || obj === null) {
return obj;
}
const clone = Array.isArray(obj) ? [] : {};
for (let key in obj) {
clone[key] = cloneObject(obj[key]);
}
return clone;
}
const obj1 = { name: "John", age: 30 };
const obj2 = cloneObject(obj1);
obj2.age = 35;
console.log(obj1.age);