function deepClone(obj) {
const newObj = obj.constructor === Array ? [] : {};
for(let key in obj) {
if(obj.hasOwnProperty(key)) {
if(typeof obj[key] === "object") {
newObj[key] = deepClone(obj[key])
}else{
newObj[key] = obj[key]
}
}
}
return newObj;
}
let obj = {
name: 'Hanna',
age: 22,
num: {
num1: 1,
num2: 2
},
arr: [1,3,4],
message: function() {
console.log(1111)
}
}
let objCopy = deepClone(obj)
console.log(objCopy.message())