1 min read 92 words Updated Sep 24, 2026 Created Sep 24, 2026
#TypeScript

TLDR: Mostly, types are the better option in 99% of use cases.


Interfaces pro:

  • Edge case performance
  • More traditional approach
  • Interfaces with the same names are merged, which can be useful in rare cases, like extending something in the global scope

Types pro:

  • Can describe non-object shapes
  • Types can not share names
  • Interfaces with the same names are merged, which increases the risk of bugs as there are no errors for duplicate interfaces.

Resources

Eslint provides this resource on when to use what: https://typescript-eslint.io/rules/consistent-type-definitions/