DEV Community

Cover image for You won't be able to answer this simple JavaScript question!
Sadeedpv🥇
Sadeedpv🥇

Posted on • Edited on

You won't be able to answer this simple JavaScript question!

Last night, I was scrolling through twitter and I found a interesting JavaScript question, and I bet you won't be able to answer this without cheating.

Let's see how long would would it take for you to answer this one:

What does ("b" + "a" + + "a" + "a").toLowerCase() output in JavaScript?

The question does look simple, but the answer will definitely blow your mind.

Tell me how long it took you to answer in the comments.

And Yes, JavaScript is crazy!

Top comments (30)

Collapse
 
unfor19 profile image
Meir Gabay

I wanted to see if ChatGPT will get it right.. And it did :)

The NaN part is very interesting, as one of the "a" chars is dropped, initially, I didn't understand why it's not "bananaa" (extra "a"), now I get it 💪🏻

Image description

Collapse
 
vsaulis profile image
Vladas Saulis

banana

Collapse
 
bob4262 profile image
Bob dnaeil

What!! No wayy, how is it banana

Collapse
 
bob4262 profile image
Bob dnaeil

Where does the n come from??

Thread Thread
 
jonrandy profile image
Jon Randy 🎖️

Unary plus on "a" gives you NaN

Collapse
 
equiman profile image
Camilo Martinez

Now try console.log(new Array(4).join(Number('y tho') + 'a')+' Batman!') 🦇

Collapse
 
sadeedpv profile image
Sadeedpv🥇

NaNaNaNaNaNa batman! is that the desired output or am I missing something? 🤔

Collapse
 
equiman profile image
Camilo Martinez

Yes, maybe for people from my generation 😅.

Now I think this joke is too old 👴

Thread Thread
 
sadeedpv profile image
Sadeedpv🥇 • Edited

Haha, maybe that joke is from the 'dad joke' era! 😄😄.

Collapse
 
lexlohr profile image
Alex Lohr

NaN is actually part of IEEE 754, which is used in most languages to express floating point numbers.

Collapse
 
skyops117 profile image
SkyHops • Edited

"baaa"

Collapse
 
sadeedpv profile image
Sadeedpv🥇

Its actually banana, basically the unary plus(++) of 'a' gives NaN which gives us 'baNaNa' and convert it to lowercase => banana

Collapse
 
skyops117 profile image
SkyHops • Edited

Do you need

"use strict" 
Enter fullscreen mode Exit fullscreen mode

at the top of the script 🤔
I used an online Javascript console.

Thread Thread
 
sadeedpv profile image
Sadeedpv🥇

Try this code :

console.log(("b" + "a" + + "a" + "a").toLowerCase());
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
skyops117 profile image
SkyHops

Thank you; my mistake.
I didn't see the ++.
For my defence on my phone it red:

("b" + "a" +
 + "a" + "a").toLowerCase()
Enter fullscreen mode Exit fullscreen mode
Collapse
 
chrdek profile image
chrdek

yep, that' s what it does.

Collapse
 
kweisvee profile image
Chrissy Vinco

Okay the person who thought of this problem is soooo clever

Collapse
 
shiyulong11 profile image
Dragon

JavaScript is really a magical language

Collapse
 
vsaulis profile image
Vladas Saulis

when it gets to insane questions...

Collapse
 
khair_al_anam profile image
Khair Alanam

That's honestly cool.

baNaNa

Collapse
 
sadeedpv profile image
Sadeedpv🥇

and weird

Collapse
 
bob4262 profile image
Bob dnaeil

Is it bAaa

Collapse
 
codeystein profile image
codeyStein

It's the little things that makes javascirpt so annoying :)