PLAY PODCASTS
Hasty Treat - A Podcast About Nothing

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 - Sponsor Prismic is a Headless CMS that makes it...

Syntax - Tasty Web Development Treats · Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

January 11, 202115m 2s

Audio is streamed directly from the publisher (traffic.megaphone.fm) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

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 - 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 prismic.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

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’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)
Tweet us your tasty treats!