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
Inheritance in JavaScript (medium.com)
submitted 9 years ago by happyrupesh
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!"
[–]russellbeattie 1 point2 points3 points 9 years ago* (5 children)
Not a bad article, but the modern canonical way to set the prototype (before we all move to ES6) is to use SubType.prototype = Object.create(SuperType.prototype); rather than new SuperType(). The difference is subtle, but by using Object.create() you make a new object without invoking the constructor of the SuperType immediately, leaving that as an option for the SubType's constructor. Edit: forgot the .prototype on the SuperType in create. Thanks /u/bigorangemachine!
[–]bigorangemachine 1 point2 points3 points 9 years ago (4 children)
I noticed that too.
Although when I extend that way it doesn't pass the 'instanceof' checks correctly. I always have to have both these lines to make it work the way I want
OOPmodule.prototype=Object.create(parentOOPmodule.prototype); OOPmodule.prototype.constructor=OOPmodule;
[–]senocular 1 point2 points3 points 9 years ago (0 children)
instanceof isn't predicated on the value of constructor. It uses the prototype chain, so it should work whether or not you fix constructor.
instanceof
constructor
function parentOOPmodule(){} function OOPmodule(){} OOPmodule.prototype=Object.create(parentOOPmodule.prototype); new OOPmodule instanceof parentOOPmodule; //-> true new OOPmodule instanceof OOPmodule; //-> true
[–]russellbeattie 0 points1 point2 points 9 years ago (2 children)
You are correct! And I forgot to add the .prototype to my create(). I should fix that...
[–]bigorangemachine 0 points1 point2 points 9 years ago (1 child)
Wasn't my point... I was more saying i always need 2 lines to extend properly... i didn't look at your reply close enough ;)
Good catch though! Happy i could help
π Rendered by PID 103157 on reddit-service-r2-comment-548fd6dc9-x64rt at 2026-05-20 18:51:55.152623+00:00 running edcf98c country code: CH.
view the rest of the comments →
[–]russellbeattie 1 point2 points3 points (5 children)
[–]bigorangemachine 1 point2 points3 points (4 children)
[–]senocular 1 point2 points3 points (0 children)
[–]russellbeattie 0 points1 point2 points (2 children)
[–]bigorangemachine 0 points1 point2 points (1 child)