var x = {'a': 't1', 'b': 't2', 'c': 't3'};
var y = x;
delete (y['c']);
console.log(x);
Ожидаемый результат:Странное поведение с удаления
Object {a: "t1", b: "t2", c: "t3"}
Выход:
Object {a: "t1", b: "t2"}
Есть ли причина, почему удаление свойство объекта изменяется у объекта х?
объекты передаются 'reference' не' value'. Обе переменные указывают на то же место в памяти, поэтому, если какой-либо из них изменится, это в конечном итоге изменит объект. – Rayon
Потому что это точно такой же экземпляр объекта. –
@RayonDabre Тогда, если я хочу иметь объект y без ключа c и не влияя на объект x, как это сделать? – chris97ong