TypeScript inheritance should look very familiar to developers who come from a background in class based object oriented code (e.g. C#, Java, C++ etc). Not only does it support n levels of inheritance, but there is also support for interfaces and data types.
The example I am using is a classic example involving vehicles and derived higher level vehicles like cars and trucks.
As you can see from the code listing above, the base line for the example is a vehicle class and an interface called IVehicle. “Vehicle” forms the foundation for both the Car and Truck classes, and at the top of the class hierarchy we find the Sedan class which is a specialized Car.
Sedan inherits Car, but it also implements two interfaces; ITrunk and IWindow. Multiple inheritance at the class level is not supported, so a class can only extend a single class. However, as mentioned above, multiple interfaces can be implemented by a single class.
Looking at the code it's pretty obvious that TypeScript really simplifies the creation of deep object hierarchies. If you want to get a jump start on ES6 I would recommend checking out TypeScript.