let x = {name: "blood", color: "red"}
let {...y} = x
// let's update the value of "x"
x.name = "strawberry"
console.log(x) // will return {name: "strawberry", color: "red"}
console.log(y) // will return {name: "blood", color: "red"}
/* "y" haven't changed because it copied the value of "x" and made himself
a whole separated ohject, instead of just coping the reference of "x"
(reference copy case:- let y = x) */
/* NOTE: get some youtube classes about javascript reference type and primitive
data types, if you're not clear enough about what i mean by "reference" */