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);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добрый день! Есть директива, которая оборачивает input, добавляет к input некий атрибут и затем компилирует этот элемент