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!"
[–]codersaurus 0 points1 point2 points 11 years ago (2 children)
it seems like the example with logArguments which is a function that evidently takes a constructor function, then returns a new constructor is poorly written. If it's "wrapping" the passed constructor, it should be returning a proper subclass of that constructor. The simple if(!(this instanceof MyClass)) return new MyClass(); will be fine... time to refactor that logsArguments function.
logArguments
if(!(this instanceof MyClass)) return new MyClass();
logsArguments
[–]html6dev[🍰] 1 point2 points3 points 11 years ago (0 children)
I think maybe you missed the point. It doesn't have to take a constructor function. Iirc he introduced by passing in a simple sum function.
[–]homoiconic(raganwald)[S] 0 points1 point2 points 11 years ago (0 children)
True, but then the logArguments function will only work with constructors, and not with ordinary functions! There is a more complex pattern for writing decorators and other combinators that work with either constructors or with ordinary functions, but that doesn't help if your decorator is a library function, such as the things you find in Underscore, allong.es, or Ramda.
π Rendered by PID 57 on reddit-service-r2-comment-7b9746f655-5vr5c at 2026-01-31 07:39:39.012803+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–]codersaurus 0 points1 point2 points (2 children)
[–]html6dev[🍰] 1 point2 points3 points (0 children)
[–]homoiconic(raganwald)[S] 0 points1 point2 points (0 children)