Hacker News new | ask | show | jobs
by tracker1 2724 days ago
What are the values that equate to false in an if statement?

false, null, undefined, NaN, "" (empty string), 0

Bonus: An object with a toString() method that returns one of the above won't evaluate directly, but will roughly equal (foo == false).

sometimes I'll ask for a function that returns input as a whole number or null, if it's a string, attempt to parse base 10, return null if invalid, return null if the input isn't already a number or a string. 0 is usually what will trip people up.

2 comments

Doesn't an empty array also equal false?
Isn't this basically atoi? Which has a lot of edge cases.
pretty much... the main one I tend to ask is the 6 falsy values, clarified as needed. The responses tend to be a good overall indicator of how well the person knows JS.
How does it indicate how well someone knows JS? That's the type of question you can easily Google.

Not to mention in general Javascript does some pretty not intuitive things with objects: https://archive.org/details/wat_destroyallsoftware

Well, if someone googles it in a live interview, they're pretty much out. It's not the ONLY question I ask, but will guide where the rest of questions come from.

It's (knowledge of falsy values) been a very representative indicator of how well they know the language itself. It's not an indicator of understanding software as a whole, or a given UI framework or library.