Hasty Treat - A Podcast About Nothing

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

  • 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\\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!

'