Structural Typing

TypeScript is a structurally typed language. This means that two types are compatible if they have the same “shape”, regardless of their names. In contrast, nominal typing (like in Java or C#) requires explicit inheritance or implementation for compatibility.