Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6842203
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T00:04:15+00:00 2026-05-27T00:04:15+00:00

We write a lot of JavaScript code to run our automated testing using a

  • 0

We write a lot of JavaScript code to run our automated testing using a tool called TestComplete. In several cases I’ve set up inheritance trees using the following syntax:

function Parent()
{
    ...
    //some inline code here executes on object creation
}

Child.prototype = Parent;
Child.prototype.constructor = Child;
function Child()
{
    Parent.call(this);
    ...
}

The reason I’ve used

Child.prototype = Parent;

instead of

Child.prototype = new Parent();

is because there is code that is executed on the creation of a new object in the parent in some cases. Setting the prototype this way has never been an issue, in that I’ve always been able to call all the functions defined in the Parent after having created a Child.

I suspect, however, I’ve actually broken the prototype chain in doing this and I’ve been saved by the fact that all the methods we define are defined inline (ie. inside the constructor function) and not using the object.prototype.method = … syntax, and so the fact the chain is broken has gone unnoticed.

So I have two questions; have I broken the chain, and what are the side effects of breaking the prototype chain in JavaScript?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T00:04:16+00:00Added an answer on May 27, 2026 at 12:04 am

    When you “break” the prototype chain like this, you cannot access Parent.prototype.* methods and properties in Child instances and the instanceof operator does not work (new Child() instanceof Parent === false).

    I understand why you don’t want to use the new keyword for the inheritance. There is, however, a little trick to inherit the parent’s prototype whilst not executing the parent’s constructor:

    var Parent = function () { ... };
    var Child = function () {
      Parent.call(this);
      ...
    };
    
    var Fn = function () {};
    Fn.prototype = Parent.prototype;
    Child.prototype = new Fn();
    Child.prototype.constructor = Child;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I write something similar to the following code a lot. It basically toggles an
I am new to programming and trying to write a javascript function to set
When I write client side code, I use HTML/CSS/JavaScript and lately jQuery to both
I am getting ready to write lot of small experimental java programs as I
I write a lot of short throwaway programs, and one of the things I
I write a lot of little scripts that process files on a line-by-line basis.
I write a lot of .NET based plug-ins for other programs which are usually
In my day job I, and others on my team write a lot of
I need to write software that will do a lot of math. Mostly it
I have to write a bash script that makes lot of things. I'd like

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.