Like interfaces, classes should not be a new concept to you due to your background in .NET. Classes enable you to define state and behavior in a single unit while promoting encapsulation and reuse. TypeScript supports classes and they look very much like ES6 classes. The following is a simple example of a Calculator
class with a single sum
function:
class Calculator { sum(left: number, right: number): number { return left + right; } } const calc = new Calculator(); console.log(calc.sum(2,3));
Similar to .NET, TypeScript allows you to define access modifiers to class members. This is a great feature as it expands your ability to author well-designed, encapsulated, and safer code. In JavaScript, for example, a common convention to represent private and internal code is to use an underscore (_
) prefix, which should no longer be needed.
TypeScript classes support multiple access modifiers – private, protected, and public ...