Javascript 如何在不发生突变的情况下改变对象内部的对象?
所以我的问题是如何在用户对象中更改petNames对象而不改变它Javascript 如何在不发生突变的情况下改变对象内部的对象?,javascript,object,ecmascript-6,Javascript,Object,Ecmascript 6,所以我的问题是如何在用户对象中更改petNames对象而不改变它 const user = { name: 'Harry', age: 50, petNames: { dog: 'Lisie', cat: 'Foxer' } }; 第一级,我们可以像这样改变 {...user, age: 48 } 它会回来的 { name: 'Harry', age: 48,
const user = {
name: 'Harry',
age: 50,
petNames: {
dog: 'Lisie',
cat: 'Foxer'
}
};
第一级,我们可以像这样改变
{...user, age: 48 }
它会回来的
{
name: 'Harry',
age: 48,
petNames: {
dog: 'Lisie',
cat: 'Foxer'
}
};
但是我怎样才能改变宠物的名字呢
例如,将狗名更改为“Rex”
然后得到一个像
{
name: 'Harry',
age: 50,
petNames: {
dog: 'Rex',
cat: 'Foxer'
}
};
谢谢大家! 您还可以扩展内部属性: 常量用户={ 名字:'哈利', 年龄:50,, 宠物名称:{ 狗:“莉西”, 猫:“狐狸” } }; 常量newUser={ 使用者 宠物名称:{ …user.petNames, 狗:“雷克斯” } };
console.loguser.petNames===newUser.petNames;//false您还可以传播内部属性: 常量用户={ 名字:'哈利', 年龄:50,, 宠物名称:{ 狗:“莉西”, 猫:“狐狸” } }; 常量newUser={ 使用者 宠物名称:{ …user.petNames, 狗:“雷克斯” } };
console.loguser.petNames===newUser.petNames;//如果不更改对象,则无法更改它。您可能正在搜索如果不更改对象,则无法更改该对象。您可能正在搜索