function safeUpdate(obj, key, value) { if (!obj.hasOwnProperty(key)) { obj.key = value; } } const user = { name: "Alice", age: 30 }; safeUpdate(user, "country", "USA");
This one was for the beginners.
function safeUpdate(obj, key, value) { if (!obj.hasOwnProperty(key)) { obj.key = value; } }
Our bug is that we’re adding a literal key property to our object.
console.log(user.key) // "USA"
In JavaScript, if you want to use a variable as the key of an object, you need to use bracket notation instead of dot notation.
function safeUpdate(obj, key, value) { if (!obj.hasOwnProperty(key)) { obj[key] = value; } }