a value that may possibly have some properties
one or more property names
const x = { foo: { bar: { baz: undefined }}}
hasOwnPath(x, 'foo', 'bar') => true
hasOwnPath(x, 'foo', 'bar', 'baz') => true
hasOwnPath(x, 'foo', 'hello', 'baz') => false
// Unlike hasPath, it does not follow inherited properties
const obj = { a: Object.create({ b: 1 }) }
hasOwnPath(obj, 'a', 'b') => false
Similar to hasPath but only works for own properties (not inherited properties)