When we compile a TypeScript program, all classes and objects become JavaScript objects. Sometimes, we will encounter our application behaving unexpectedly at runtime, and we will not be able to identify and understand the root cause of this behavior without a good understanding of how inheritance works in JavaScript. This understanding will allow us to have much better control over our application at runtime.

The runtime inheritance system uses a prototypal inheritance model. In a prototypal inheritance model, objects inherit from objects, and there are no classes available. However, we can use prototypes to simulate classes. Let's see how it works.

At runtime, almost every JavaScript object has an internal property called prototype. ...

Get TypeScript: Modern JavaScript Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.