- they perform better at build-time and in editor
- they have more relaxed rules for recursion
- they can help identify complex types and distinguish them from simpler ones
- they’re guaranteed to be usable to enforce class implementations, whereas only simple types can be used
- they’re much easier to read in type errors
Unless you are referring to interface as a concept, and not the keyword in TS.
- they perform better at build-time and in editor
- they have more relaxed rules for recursion
- they can help identify complex types and distinguish them from simpler ones
- they’re guaranteed to be usable to enforce class implementations, whereas only simple types can be used
- they’re much easier to read in type errors