I'm looking at methods of implementing multiple inheritance in JavaScript. I've done a lot of reading on the subject, and know there are several approaches, each with their strengths and weaknesses, but I haven't found a thorough analysis of Object.create(), at least not one in language that I can understand. I've done some experimenting and have come up with an approach that truly does achieve multiple inheritance using Object.create() (see the JSFiddle below).
https://jsfiddle.net/etymhecv/
In the above fiddle, the p variable is a Person, the e variable is an Employee (which inherits from Person) and ae is an AlienEmployee (which inherits from both the standalone class Alien, and from Employee (and hence Person)). The test Person.isPerson(ae) correctly detects that an AlienEmployee is a type of Person.
Can someone explain to me what disadvantages, if any, I may encounter by using the above approach?