Interfaces, Classes, Inheritance, and Modules
We have already seen a variety of language enhancements that TypeScript brings to modern JavaScript development. This includes the primitive types, like string
, number
, boolean
, undefined
, and never
, as well as features brought in from multiple ECMAScript standards, like let
, const
, and optional chaining. TypeScript, therefore, allows us to use these enhanced language features from future JavaScript standards in our code right now, and it takes care of generating the correct JavaScript based on our runtime target.
The ECMAScript standard published in 2015, known as ES6, introduced the concept of classes and inheritance. JavaScript programmers, however, have been able to create classes and use object-oriented programming techniques for many years, by using what is known as the closure design pattern and the prototype design pattern. The creation of JavaScript objects through closures, however, has been more by convention than being...