Clarification on Prototypes

Tell us what’s happening:
Why does this return true? I thought that in this case beagle would be an instance of Dog, not a prototype. And if beagle were to be a prototype, wouldn’t it be Dog.prototype.name === 'beagle'?

Your code so far


function Dog(name) {
this.name = name;
}

let beagle = new Dog("Snoopy");

// Only change code below this line
Dog.prototype.isPrototypeOf(beagle)

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36.

Challenge: Understand Where an Object’s Prototype Comes From

Link to the challenge:

If someone uses Dog as a constructor function with the new keyword, the newly created object (beagle) will inherit all its properties and methods from whatever Dog.prototype is pointing at.

Dog.prototype defines the “prototype to use” when creating beagle.
Dog.prototype doesn’t say anything about which object Dog has inherited all its properties and methods from.

I know this is confusing, but Dog.prototype points at a blueprint, .isPrototypeOf(beagle) asks if the stuff before the dot is the blueprint that was used for beagle.