This part is the same as writing 'a'++ and that returns “NaN” (short for “not a number”) since you can’t increment a character, but this return type is a string, so the interpreter just concatenates it with the other letters: baNaNa. Then that string is converted to lower case to give the final result, “banana”.
This part is the same as writing
'a'++
and that returns “NaN” (short for “not a number”) since you can’t increment a character, but this return type is a string, so the interpreter just concatenates it with the other letters:baNaNa
. Then that string is converted to lower case to give the final result, “banana”.The space makes that two different tokens, in reality what happens is ‘a’ + (+‘a’) that resolves to ‘a’ + ‘NaN’.
Yep, I believe you’re right
Ironically
'a'++
works in C/C++ because'a'
ischar
where in JS ‘a’ isstring
.