Every object has a prototype
When you access a property, JavaScript first looks on the object itself. If it's not there, it walks up the [[Prototype]] chain. Object.getPrototypeOf(obj) returns that parent.
const animal = {
breathe() { return "inhale → exhale" }
}
const dog = Object.create(animal)
dog.bark = function() { return "woof" }
console.log(dog.bark()) // "woof" own property
console.log(dog.breathe()) // "inhale → exhale" found on prototype
console.log(Object.getPrototypeOf(dog) === animal) // true