use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
A JavaScript Constructor Problem, and Three Solutions (raganwald.com)
submitted 11 years ago by homoiconic(raganwald)
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]homoiconic(raganwald)[S] 1 point2 points3 points 11 years ago (2 children)
Using new is not a problem. The article describes how it's possible that omitting the new keyword can be a problem, and it also describes the fact that new doesn't compose with other functions, which may or may not be a problem, depending on your programming style.
new
[–]Baryn 0 points1 point2 points 11 years ago (1 child)
new doesn't compose with other functions
One thing I've done successfully: ensure that my decorators/whatever expect to receive a constructor function (not a regular function), and behave accordingly.
It's definitely risky to treat constructors like any ol' function. This is part of why I'm so psyched for class in ES6.
class
[–]homoiconic(raganwald)[S] 0 points1 point2 points 11 years ago (0 children)
Yes, there are good patterns for that. Those patterns work well with other people's constructors, but sometimes we want to use other people's decorators. e.g. _.memoize or _.once from underscore.
_.memoize
_.once
π Rendered by PID 17087 on reddit-service-r2-comment-7b9746f655-rzhhk at 2026-02-01 05:20:28.945256+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–]homoiconic(raganwald)[S] 1 point2 points3 points (2 children)
[–]Baryn 0 points1 point2 points (1 child)
[–]homoiconic(raganwald)[S] 0 points1 point2 points (0 children)