Consider the following object representing a user, Joe, and his dog, Buttercup. We use Object.freeze
to preserve our object and then attempt to mutate Buttercup's name. What gets logged?
const user = {
name: 'Joe',
age: 25,
pet: {
type: 'dog',
name: 'Buttercup'
}
};
Object.freeze(user);
user.pet.name = 'Daffodil';
console.log(user.pet.name);
A) Daffodil
B) Buttercup
C) An error is thrown
Put your answer in the comments!
Top comments (3)
Daffodil, since Object.freeze cannot prevent mutation of nested objects.
I never knew that. I would have assumed that it would still be buttercup. So if the above example say the pet name wasn't nested, then what would be the answer?
Daffodil