title: All falsey values in JavaScript
body: <p><strong>What are the values in JavaScript that are 'falsey'</strong>, meaning that they evaluate as false in expressions like <code>if(value)</code>, <code>value ?</code> and <code>!value</code>?</p>
  
  <hr>
  
  <p>There are <a href="https://stackoverflow.com/questions/3982663/falsey-values-in-javascript">some discussions of the purpose of falsey values on Stack&nbsp;Overflow already</a>, but no exhaustive complete answer listing what all the falsey values are.</p>
  
  <p><a href="https://www.google.co.uk/search?hl=en&amp;as_q=falsy%20OR%20falsey&amp;as_sitesearch=developer.mozilla.org/en-US/docs/Web/JavaScript" rel="noreferrer">I couldn't find any complete list on MDN JavaScript Reference</a>, and I was surprised to find that the top results when looking for a complete, authoritative list of falsey values in JavaScript were blog articles, some of which had obvious omissions (for example, <code>NaN</code>), and none of which had a format like Stack&nbsp;Overflow's where comments or alternative answers could be added to point out quirks, surprises, omissions, mistakes or caveats. So, it seemed to make sense to make one. </p>