Inheritance is defining a created object as an instance of a given class. This makes a dependency between them. We’ve defined a relationship between them, and of all programming relationships, three class-instance relationship is the most tightly coupled. Making it the most brittle.
Now, so far, no real drawbacks. In fact, this is all great - by having potentially hundreds of instances all share a single constructor reference, we really save memory! We don’t have hundreds or thousands of copies of those prototype methods, we have one. Nice!
Until, somewhere down the line, someone changes a method on that constructor prototype. You can, at any point, it’s nothing special. Just another object.
But when that happens, if our instances are not aware that their constructor has been changed…things break.