Runtime Type Checks in TypeScript: Classes, Interfaces, instanceof, and Type Guards | CodeTrail