Delve into the powerful features of TypeScript's strict mode and discover how it enhances code safety. Learn about crucial aspects like 'noImplicitAny' and 'noImplicitThis,' which promote explicit type declarations. The discussion also covers the significance of strict null checks and optional chaining for preventing runtime errors. Comparing TypeScript's and JavaScript's strict modes reveals key differences and potential pitfalls for developers. Join an engaging exploration of coding practices that lead to more reliable programming!
17:36
forum Ask episode
web_stories AI Snips
view_agenda Chapters
auto_awesome Transcript
info_circle Episode notes
volunteer_activism ADVICE
Embrace Strict Mode
Turn on the TypeScript strict flag to enable stricter type checking.
Fix type errors instead of turning off strict mode.
insights INSIGHT
Implicit Any's Risk
TypeScript's any type can be anything, making it risky.
Implicit any types can hide mistakes, so use noImplicitAny.
volunteer_activism ADVICE
Strict Null Checks
Use strict null checks to avoid accessing non-existent values.
Check if a value exists before using it or use optional chaining.
Get the Snipd Podcast app to discover more snips from this episode
In this Hasty Treat, Scott and Wes talk about the Typescript strict flag — what it does and why you might use it.
Sanity - Sponsor
Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.
LogRocket - Sponsor
LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It’s an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.
Show Notes
02:50 - What is it?
Future versions of TypeScript may introduce additional stricter checking under this flag, so upgrades of TypeScript might result in new type errors in your program. When appropriate and possible, a corresponding flag will be added to disable that behavior.
03:26 - noImplicitAny
The any type in TypeScript is exactly that - it can be anything.
TypeScript will try to infer the type. When it can’t it will be any.
Sometimes you need any, but if that is the case, you must explicitly type it as any.
If something is implicitly any - it might be a mistake, or you forgot to type it. Risky!
06:01 - noImplicitThis
You must type this - it can’t be implicitly inferred.
06:47 - strictFunctionTypes
If you have a type that is a function and it doesn’t 100%.
07:44 - alwaysStrict
Always turns on strict mode. You can’t do things like redeclare var variables.
09:25 - strictNullChecks
Makes you check that the item is actually there before accessing a value or method from it.
Imagine you filter or find on an array, or query selector a DOM element. There is a possibility that nothing is there. strictNullChecks makes you check that it’s there - like an if statement.