Hasty Treat - TypeScripts Strict Explained
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 beany
. - Sometimes you need
any
, but if that is the case, you must explicitly type it asany
. - 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. - Optional chaining is super handy here.
11:18 - strictBindCallApply
12:38 - strictPropertyInitialization
13:37 - useUnknownInCatchVariables
Links
Tweet us your tasty treats!
- Scott’s Instagram
- LevelUpTutorials Instagram
- Wes’ Instagram
- Wes’ Twitter
- Wes’ Facebook
- Scott’s Twitter
- Make sure to include @SyntaxFM in your tweets