var user = {
name: "Вася",
age: 30
};
var clone = {}; // новый пустой объект
// скопируем в него все свойства user
for (var key in user) {
clone[key] = user[key];
}
Вопрос в строке clone[key] = user[key]. По идее user[key] содержит только значение(Вася и 30) свойств name и age, а в переменной key хранится имя свойства? Но в результате клонирования скопировались и имена переменных. Как так вышло?
А как Вы хотели?
Клон должен быть идентичен по определению.
key - имя свойства (name, age); user[key] - значение свойства (Вася, 30).
Копировать объект проще так:
var user = {
name: "Вася",
age: 30
};
let clone = Object.assign(user);
console.dir(clone);
Продвижение своими сайтами как стратегия роста и независимости