O'Reilly logo
  • Karl Giesing thinks this is interesting:

The way we do this is to think about any given structure as a specific variation of a more general base definition.

From

Cover of You Don't Know JS: this & Object Prototypes

Note

Actually, the way we do this in most OOP languages is by thinking of a given structure as a type. Whether it is a "variation of a more general base definition" doesn't matter at all to the type's client code; that's the whole point of subtype polymorphism (and why it's named "subtype" rather than "inheritance").