Skip to content

Comment on Stupid Languagesparent

Comments

Neither.

But for the sake of argument, I'd rather see

  ['10','10','10','10'].map(Number);

['10','10','10','10'].map(Number);

this is one is correct

['10','10','10','10'].map(String);

this one makes sense

['10','10','10','10'].map(Object);

i'd like somebody to explain me this one ?????????

Javascript is really difficult as soon as one try to do non trivial stuffs.

Object('abc') is the same as new String('abc'), Object(1) the same as new Number(1) - it just calls the .constructor

but "new Number(x)" is not equal to "Number(x)". So, it's tricky, I guess?

Number(x) performs a type conversion to number, new Number(x) constructs a primitive wrapper object Number:

  typeof Number("10")
  //=> "number"
  typeof new Number("10")
  //=> "object"
The same applies to other wrapper objects, that is, Boolean and String.
AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.