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.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 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.
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.
anytype in TypeScript is exactly that - it can be anything.
- TypeScript will try to
inferthe type. When it can’t it will be
- Sometimes you need
any, but if that is the case, you must explicitly type it as
- If something is implicitly
any- it might be a mistake, or you forgot to type it. Risky!
- You must type
this- it can’t be implicitly inferred.
- If you have a type that is a function and it doesn’t 100%.
- Always turns on strict mode. You can’t do things like redeclare
- 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.
strictNullChecksmakes you check that it’s there - like an if statement.
- Optional chaining is super handy here.