Access Modifiers
TypeScript natively injects rigid Object-Oriented concepts like Encapsulation deep down into JavaScript classes via specific modifiers: public, private, and protected.
Interfaces and Classes
While an interface natively designs standard Object logic layouts, it can remarkably also serve as an extremely rigid blueprint contract that a class is strictly forced to uphold securely.