I am trying to update an Object key using destructuring like this
let user = {
name: "raju",
age: 40,
sex: "male"
}
name = "vvvv"
user1 = {name, ...user}
console.log(user1)
But it is not updating name == 'vvvv'
in user1
.
I am confused, need some help on this.
I am trying to update an Object key using destructuring like this
let user = {
name: "raju",
age: 40,
sex: "male"
}
name = "vvvv"
user1 = {name, ...user}
console.log(user1)
But it is not updating name == 'vvvv'
in user1
.
I am confused, need some help on this.
Share edited Jan 16, 2023 at 2:38 Paolo 21.2k21 gold badges76 silver badges122 bronze badges asked Feb 29, 2020 at 13:27 rajuraju 6,95427 gold badges89 silver badges183 bronze badges 02 Answers
Reset to default 6Later property names will overwrite earlier property names. Just like a duplicate name
below results in the last one being included in the object:
console.log({
name: 'foo',
name: 'bar'
});
When using spread syntax, you should put the properties you want to overwrite the others last:
user1 = {...user, name}
Order matters, you have to put the updated property at last position:
let user = {
name: "raju",
age: 40,
sex: "male"
}
name = "vvvv"
user1 = {...user, name}
console.log(user1)