hasOwnPropertyintermediate// Check for own (non-inherited) property
const obj = { a: 1 }
obj.hasOwnProperty('a') // β true
obj.hasOwnProperty('toString') // β falseUse hasOwnProperty() to check whether a property exists directly on an object rather than on its prototype chain.
Objects with a null prototype (e.g., from Object.create(null)) don't have hasOwnProperty. Use Object.prototype.hasOwnProperty.call(obj, key) as the safe pattern.
Challenge: Implement safeHasOwnProperty(obj, key) using the safe call pattern.