Hasty Treat - A Podcast About Nothing
In this Hasty Treat, Scott and Wes talk about nothing — null, undefined, void, false, 0, ‘’, NaN, [], {}, never — all sorts of values that could mean the things that do not exist.
Prismic - SponsorPrismic is a Headless CMS that makes it easy to build website pages as a set of components. Break pages into sections of components using React, Vue, or whatever you like. Make corresponding Slices in Prismic. Start building pages dynamically in minutes. Get started at prismic.io/syntax.
LogRocket - SponsorLogRocket 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 Notes03:35 - Undefined
- Implicitly nothing
- A variable declared, but not set is undefined
04:25 - Null
- Explicitly nothing
04:41 - Null vs Undefined
- Null has a value of nothing
- Undefined does not have a value
- You can set variables to either
- If you want to set a score variable to nothing, set it to null
- If you want to un-set a value, set it to undefined
- == will check if a value is either null or undefined
05:35 - Void
- In Javascript
- You can pop void in front of calling a function and it will return undefined (even if that function returns a value)
- I’ve seen it on links that go nowhere (don’t do this — use a button)
- To prevent an arrow function from leaking
- onSubmit="javascript:void()" is a quick-n-easy prevent default on forms
- In Typescript
- Void is when you don’t care about what is returned from a function, or if nothing is returned
- A click handler that goes off and does stuff (side effect) can return void
09:15 - Never (in Typescript)
- Some functions will never return:
- Functions that throw errors
- Functions that have infinite loops
- Also, unreachable variables have a type of never
- if(true == false) { let var = 'this will never be true'; }
11:05 - Falsy values
- 0, -0, 0n
- false
- ‘’ (empty string)
- Empty array
- Is a value
- Its .length can be falsy
- Empty object
- Is a value
- Its object.keys(object) length can be falsy (0)
- Scott’s Instagram
- LevelUpTutorials Instagram
- Wes’ Instagram
- Wes’ Twitter
- Wes’ Facebook
- Scott’s Twitter
- Make sure to include @SyntaxFM in your tweets