We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
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.
- 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.