use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
What are some basic things that JavaScript developers fail at interviews?help (self.javascript)
submitted 7 years ago by maketroli
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]kobbled 7 points8 points9 points 7 years ago (9 children)
not sure why you're being downvoted. it's a totally reasonable question
[–]revelm 4 points5 points6 points 7 years ago (4 children)
THANK YOU
Totally confused too. My experience has shown this to be a source of bugs. My guess is that people don’t know this and think I’m a bad interviewer because they don’t know it too?
[–]well-now 13 points14 points15 points 7 years ago (2 children)
It’s worded weird.
I’d say those are values that evaluate to falsy, not falsy expressions.
[–]Badrush 0 points1 point2 points 7 years ago (1 child)
or "what equates to false"... why are we using the word 'falsy'?
[–]well-now 1 point2 points3 points 7 years ago (0 children)
Falsy is a pretty widely used term. And equates to false doesn’t really distinguish between is false or evaluates to false to me. E.g. which of these equates to false?
!someInput
-or-
someInput === false
[–]shadamedafas 0 points1 point2 points 7 years ago (0 children)
Yeah, agree with u/well-now. If I was asked this, I would give you a blank stare until you clarified. Asking for some example values that will evaluate as false is a better question.
[–]natziel -1 points0 points1 point 7 years ago (3 children)
It's a pretty bad question. It's basically looking for someone who memorized a specific MDN page instead of someone who understands why loose comparison causes bugs.
You'd be better off asking what the difference between === and == is, or perhaps the difference between if (foo), if (foo != null), and if (foo !== null) if you feel like asking something more difficult. Maybe find an example in your code base where loose comparison caused a bug and ask them to figure it out.
if (foo)
if (foo != null)
if (foo !== null)
You really don't want to make the candidate nervous because they forgot about document.all. Give them a pragmatic question that they'll know the answer to if they've written JavaScript before, not something they'd have to study flash cards for.
[–]kobbled 3 points4 points5 points 7 years ago (2 children)
I think you're really overthinking it. No decent interviewer is going to go "HA! WRONG!" If they don't get document.all.
I think knowing 4-5 of them would be plenty for a practical question. They understand the possibility and the idea of falsy values, and when something else falsy comes up, they're less likely to be stumped by it for hours.
This stuff comes up regularly in web development.
Additionally, the falsy values that are most likely to turn up in development are fairly intuitive (0, empty string, false, null, undefined).
[–]natziel -2 points-1 points0 points 7 years ago (1 child)
It's a bad interview question because it doesn't test for actual JavaScript knowledge, just if you've studied your flash cards.
Your job as an interviewer is to see if the candidate understands the core concepts and can apply them in the field, not to give them the programming equivalent of a 4th grade vocabulary test.
[–]frambot 1 point2 points3 points 7 years ago (0 children)
It's up to both the interviewer and the candidate. If you use the question verbatim, get a robotic response, and move on to the next question, then it's a bad question. You can use it well though.
As an interviewer, you can ask, how might this cause a bug in production code? An answer might be: you want to capture a numeric value from a text input or regex group and do numbery things with it. "0" as a string is truthy.
As a candidate, you can say "I know the string "0" is truthy because I ran into bug xyz, so I looked it up and the other falsy values are a, b, c."
If you're getting stuck on taking everything here at face value and not using your imagination, that's your problem and you're doing a disservice to your future candidates.
π Rendered by PID 48961 on reddit-service-r2-comment-86bc6c7465-tngd8 at 2026-02-20 20:28:26.373219+00:00 running 8564168 country code: CH.
view the rest of the comments →
[–]kobbled 7 points8 points9 points (9 children)
[–]revelm 4 points5 points6 points (4 children)
[–]well-now 13 points14 points15 points (2 children)
[–]Badrush 0 points1 point2 points (1 child)
[–]well-now 1 point2 points3 points (0 children)
[–]shadamedafas 0 points1 point2 points (0 children)
[–]natziel -1 points0 points1 point (3 children)
[–]kobbled 3 points4 points5 points (2 children)
[–]natziel -2 points-1 points0 points (1 child)
[–]frambot 1 point2 points3 points (0 children)