Reputation: 193
I was just messing around with some code today, and I noticed that when I run String(null)
or String(undefined)
, I get null
and undefined
respectively. But, when I checked the value I got for String([null, undefined])
, I found it gave me ","
as compared to the expected Result null,undefined
. Does anyone have any idea on why this is happening? Since I didn't expect such behavior from String
constructor on arrays, because as far as I have Noticed, the constructor simply put the values of every single one of the elements separated by commas.
Upvotes: 1
Views: 101
Reputation: 169416
null
and undefined
values are represented by empty strings by Arrays' toString()
since it calls Array.prototype.join()
("If element is undefined or null, let next be the empty String"):
> [null, undefined].toString()
","
> [null, null, null, null].toString()
",,,"
Upvotes: 6
Reputation: 308
You can use:
String([null, undefined].map(String));
or
[null, undefined].map(String).join()
Upvotes: 0