Published: Jan. 11, 2021, 2 p.m.
b'
In this Hasty Treat, Scott and Wes talk about nothing \\u2014 null, undefined, void, false, 0, \\u2018\\u2019, NaN, [], {}, never \\u2014\\xa0all sorts of values that could mean the things that do not exist.
Prismic - Sponsor
Prismic 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\\xa0prismic.io/syntax.
LogRocket - Sponsor
LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It\\u2019s an exception tracker, a session re-player and a performance monitor. Get 14 days free at\\xa0logrocket.com/syntax.
Show Notes
03:35 - Undefined
- Implicitly nothing
- A variable declared, but not set is undefined
04:25 - Null
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\\u2019ve seen it on links that go nowhere (don\\u2019t do this \\u2014 use a button)
- To prevent an arrow function from leaking
-
onSubmit="javascript:void()"
\\xa0is a quick-n-easy prevent default on forms
- In Typescript
- Void is when you don\\u2019t 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
- \\u2018\\u2019 (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)
Tweet us your tasty treats!
'