The Lies We Tell Ourselves Using TypeScript - Stefan Baumgartner, TypeScript Congress 2023

Understand the limitations and potential problems of using TypeScript, including interface declaration merging, `any` type usage, and conditional types, and learn how to take responsibility for ensuring correctness and maintainability of your code.

Key takeaways
  • The talk “The Lies We Tell Ourselves Using TypeScript” highlights the importance of understanding the limitations and potential problems with using TypeScript.
  • TypeScript’s focus on productivity over correctness can lead to errors and inconsistencies.
  • Interface declaration merging can be a powerful feature, but also a source of problems if not used carefully.
  • The use of any in TypeScript can be problematic, as it can hide errors and make code harder to understand and maintain.
  • Conditional types can be powerful, but also complex and prone to errors.
  • The talk emphasizes the importance of learning and understanding the limitations of TypeScript, rather than relying on automatic advice or code completion.
  • The speaker suggests that TypeScript is not a panacea for all problems, and that developers should be aware of its limitations and potential pitfalls.
  • The talk also highlights the importance of testing and debugging code, and the need for developers to take responsibility for ensuring the correctness and maintainability of their code.
  • The speaker recommends using unknown in catch clauses and doing instance of checks later on to mitigate some of the problems discussed in the talk.
  • The talk also touches on the idea that developers should not be afraid to use type assertions or other workarounds to deal with the limitations of TypeScript.
  • The speaker emphasizes that TypeScript is not a substitute for good programming practices, such as testing and debugging code, and that developers should always be mindful of the potential pitfalls and limitations of using TypeScript.