Hacker News new | past | comments | ask | show | jobs | submit login

The best reason to have new-less constructors is because it's now possible to use them as higher-order functions.

    [1,2,3].map(User)



As long as the constructor doesn't take multiple arguments [1], otherwise:

    [1, 2, 3].map(id => User(id))
[1] http://speakingjs.com/es5/ch15.html#_pitfall_unexpected_opti...


I find it useful to have `unary` and `apply` around:

  [1,2,3].map(unary(User))
  [[1,2],[3,4],[5,6]].map(apply(User))


Why JavaScript, why !


Or the alternative :

    [1,2,3].map( function(i) { return new User(i); } );
might seem more reasonable in the JS world.


It's a valuable but unnecessary intermediate step if you go into functional idioms (map, fold, closures) fully.

raganwald books cover this way of using javascript https://leanpub.com/u/raganwald




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: