Загрузка данных


function sp(obj1, obj2) {
    let temp = {};

    Object.defineProperties(temp, Object.getOwnPropertyDescriptors(obj1));

    for (let key of Object.getOwnPropertyNames(obj1)) {
        delete obj1[key];
    }

    Object.defineProperties(obj1, Object.getOwnPropertyDescriptors(obj2));

    for (let key of Object.getOwnPropertyNames(obj2)) {
        delete obj2[key];
    }

    Object.defineProperties(obj2, Object.getOwnPropertyDescriptors(temp));
}

let ob1 = {
    n: "afd",
    j: false
};

Object.defineProperty(ob1, "secret", {
    value: "hidden",
    enumerable: false,
    configurable: true
});

let ob2 = {
    m: 2
};

sp(ob1, ob2);

console.log(ob1);
console.log(ob2);

console.log("secret у ob1:", ob1.secret);
console.log("secret у ob2:", ob2.secret);