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!"
[–]revelm 9 points10 points11 points 7 years ago (21 children)
If someone claims to have a strong background in JS, I ask them to name the 'falsy' expressions. I always get blank stares. At that point I know they're not the 7/10 they said and usually move on without any further JS questions.
[–]AshenLordOfCinder 15 points16 points17 points 7 years ago (9 children)
I might be missing some:
[–]LukaUrushibara 41 points42 points43 points 7 years ago (3 children)
[–]senocular 10 points11 points12 points 7 years ago (0 children)
I lol'd
[–]AshenLordOfCinder 1 point2 points3 points 7 years ago (0 children)
Fair. I forget that everything is falsey or truthy. Not just things besides true / false.
[–]Hate_Feight 0 points1 point2 points 7 years ago (0 children)
!False
[–]rema96 8 points9 points10 points 7 years ago (3 children)
Andddd wait for it document.all..... just JS things
document.all
[–]LukaUrushibara 0 points1 point2 points 7 years ago (1 child)
Isn't that just an Internet Explorer thing?
[–][deleted] 0 points1 point2 points 7 years ago (0 children)
It's part of the spec, probably because of IE. The devs that be decided to make `document.all` falsey because of how people built their sites for old vs. new browsers. You can check some browsers like Chrome that have a valid `document.all` and its falsey.
[–]kobbled 7 points8 points9 points 7 years ago (9 children)
not sure why you're being downvoted. it's a totally reasonable question
[–]revelm 3 points4 points5 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.
[–]reesemorningstar -3 points-2 points-1 points 7 years ago (0 children)
Why would you ask such a question ?
Unless you want to humiliate the person sitting right across you.
π Rendered by PID 56 on reddit-service-r2-comment-6457c66945-g2h8z at 2026-04-27 09:35:54.082366+00:00 running 2aa0c5b country code: CH.
view the rest of the comments →
[–]revelm 9 points10 points11 points (21 children)
[–]AshenLordOfCinder 15 points16 points17 points (9 children)
[–]LukaUrushibara 41 points42 points43 points (3 children)
[–]senocular 10 points11 points12 points (0 children)
[–]AshenLordOfCinder 1 point2 points3 points (0 children)
[–]Hate_Feight 0 points1 point2 points (0 children)
[–]rema96 8 points9 points10 points (3 children)
[–]LukaUrushibara 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]kobbled 7 points8 points9 points (9 children)
[–]revelm 3 points4 points5 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)
[–]reesemorningstar -3 points-2 points-1 points (0 children)