Why isPrototypeOf() returns false? Unicorn Meta Zoo #1: Why another podcast? Announcing the arrival of Valued Associate #679: Cesar Manara Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!Why is using “for…in” with array iteration a bad idea?Why does isNaN(“ ”) equal falseevent.preventDefault() vs. return falseWhat is JSONP, and why was it created?Why does Google prepend while(1); to their JSON responses?Why does ++[[]][+[]]+[+[]] return the string “10”?Is Safari on iOS 6 caching $.ajax results?How do I return the response from an asynchronous call?jQuery.inArray(), how to use it right?isPrototypeOf in Javascript

RIP Packet Format

Why do people think Winterfell crypts is the safest place for women, children & old people?

How did Elite on the NES work?

TV series episode where humans nuke aliens before decrypting their message that states they come in peace

Why is arima in R one time step off?

`FindRoot [ ]`::jsing: Encountered a singular Jacobian at a point...WHY

Why isPrototypeOf() returns false?

What is the ongoing value of the Kanban board to the developers as opposed to management

Will I be more secure with my own router behind my ISP's router?

Israeli soda type drink

Could a cockatrice have parasitic embryos?

Why isn't everyone flabbergasted about Bran's "gift"?

"Working on a knee"

Does Prince Arnaud cause someone holding the Princess to lose?

Has a Nobel Peace laureate ever been accused of war crimes?

Coin Game with infinite paradox

Why did Israel vote against lifting the American embargo on Cuba?

Is it OK if I do not take the receipt in Germany?

Processing ADC conversion result: DMA vs Processor Registers

What is the evidence that custom checks in Northern Ireland are going to result in violence?

Is it appropriate to mention a relatable company blog post when you're asked about the company?

Are these square matrices always diagonalisable?

Is a self contained air-bullet cartridge feasible?

What is the definining line between a helicopter and a drone a person can ride in?



Why isPrototypeOf() returns false?



Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar Manara
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!Why is using “for…in” with array iteration a bad idea?Why does isNaN(“ ”) equal falseevent.preventDefault() vs. return falseWhat is JSONP, and why was it created?Why does Google prepend while(1); to their JSON responses?Why does ++[[]][+[]]+[+[]] return the string “10”?Is Safari on iOS 6 caching $.ajax results?How do I return the response from an asynchronous call?jQuery.inArray(), how to use it right?isPrototypeOf in Javascript



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








6















I have above constructors and SubType prototype pointing to an instance of SuperType. When I do x.isPrototypeOf(SubType.prototype) it returns false. I am confused as I have explicitly set x as a prototype for SubType. Can someone tell me why it's happening?






function SuperType()

function SubType()

x = new SuperType();

SubType.prototype = x;
SubType.prototype.constructor = SubType;

console.log(x.isPrototypeOf(SubType)) // returns false
console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true












share|improve this question



















  • 1





    Not sure to get my head all clear here, but x === SubType.prototype how do you expect it to be its own prototype?

    – Kaiido
    1 hour ago











  • Updated my question, sorry about that type

    – Gautam
    1 hour ago











  • try console.log(x.isPrototypeOf(new SubType)) for example of how it's used.

    – dandavis
    1 hour ago

















6















I have above constructors and SubType prototype pointing to an instance of SuperType. When I do x.isPrototypeOf(SubType.prototype) it returns false. I am confused as I have explicitly set x as a prototype for SubType. Can someone tell me why it's happening?






function SuperType()

function SubType()

x = new SuperType();

SubType.prototype = x;
SubType.prototype.constructor = SubType;

console.log(x.isPrototypeOf(SubType)) // returns false
console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true












share|improve this question



















  • 1





    Not sure to get my head all clear here, but x === SubType.prototype how do you expect it to be its own prototype?

    – Kaiido
    1 hour ago











  • Updated my question, sorry about that type

    – Gautam
    1 hour ago











  • try console.log(x.isPrototypeOf(new SubType)) for example of how it's used.

    – dandavis
    1 hour ago













6












6








6


1






I have above constructors and SubType prototype pointing to an instance of SuperType. When I do x.isPrototypeOf(SubType.prototype) it returns false. I am confused as I have explicitly set x as a prototype for SubType. Can someone tell me why it's happening?






function SuperType()

function SubType()

x = new SuperType();

SubType.prototype = x;
SubType.prototype.constructor = SubType;

console.log(x.isPrototypeOf(SubType)) // returns false
console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true












share|improve this question
















I have above constructors and SubType prototype pointing to an instance of SuperType. When I do x.isPrototypeOf(SubType.prototype) it returns false. I am confused as I have explicitly set x as a prototype for SubType. Can someone tell me why it's happening?






function SuperType()

function SubType()

x = new SuperType();

SubType.prototype = x;
SubType.prototype.constructor = SubType;

console.log(x.isPrototypeOf(SubType)) // returns false
console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true








function SuperType()

function SubType()

x = new SuperType();

SubType.prototype = x;
SubType.prototype.constructor = SubType;

console.log(x.isPrototypeOf(SubType)) // returns false
console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true





function SuperType()

function SubType()

x = new SuperType();

SubType.prototype = x;
SubType.prototype.constructor = SubType;

console.log(x.isPrototypeOf(SubType)) // returns false
console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true






javascript






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago







Gautam

















asked 2 hours ago









GautamGautam

600413




600413







  • 1





    Not sure to get my head all clear here, but x === SubType.prototype how do you expect it to be its own prototype?

    – Kaiido
    1 hour ago











  • Updated my question, sorry about that type

    – Gautam
    1 hour ago











  • try console.log(x.isPrototypeOf(new SubType)) for example of how it's used.

    – dandavis
    1 hour ago












  • 1





    Not sure to get my head all clear here, but x === SubType.prototype how do you expect it to be its own prototype?

    – Kaiido
    1 hour ago











  • Updated my question, sorry about that type

    – Gautam
    1 hour ago











  • try console.log(x.isPrototypeOf(new SubType)) for example of how it's used.

    – dandavis
    1 hour ago







1




1





Not sure to get my head all clear here, but x === SubType.prototype how do you expect it to be its own prototype?

– Kaiido
1 hour ago





Not sure to get my head all clear here, but x === SubType.prototype how do you expect it to be its own prototype?

– Kaiido
1 hour ago













Updated my question, sorry about that type

– Gautam
1 hour ago





Updated my question, sorry about that type

– Gautam
1 hour ago













try console.log(x.isPrototypeOf(new SubType)) for example of how it's used.

– dandavis
1 hour ago





try console.log(x.isPrototypeOf(new SubType)) for example of how it's used.

– dandavis
1 hour ago












2 Answers
2






active

oldest

votes


















5














SubType is a function. What you probably want to check is if an instance of SubType would inherit from x:






function SuperType()

function SubType()

x = new SuperType();

SubType.prototype = x;
SubType.prototype.constructor = SubType;

const instance = new SubType();
console.log(x.isPrototypeOf(instance)) // returns true
console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true








share|improve this answer






























    2














    It helps to add properties to the objects to see what's happening. I fixed a little of your code. You can run this in the console:



    function SuperType(foo) this.foo = foo ;
    function SubType(bar) this.bar = bar ;

    var x = new SubType("bar");

    SuperType.prototype = x;
    SuperType.prototype.constructor = SubType;


    Now, you asked x.isPrototypeOf(SuperType) and it returns false, because x is not a property of the class SuperType. But when you instantiate a SuperType, x is a property of that new object:



    var y = new SuperType("foo");
    console.log(x.isPrototypeOf(y)) // returns true


    In your example that is true, SubType.prototype is a prototype of SuperType.prototype and returns true.



    console.log(SubType.prototype.isPrototypeOf(SuperType.prototype)) // returns true





    share|improve this answer








    New contributor




    David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.




















      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55821319%2fwhy-isprototypeof-returns-false%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      5














      SubType is a function. What you probably want to check is if an instance of SubType would inherit from x:






      function SuperType()

      function SubType()

      x = new SuperType();

      SubType.prototype = x;
      SubType.prototype.constructor = SubType;

      const instance = new SubType();
      console.log(x.isPrototypeOf(instance)) // returns true
      console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true








      share|improve this answer



























        5














        SubType is a function. What you probably want to check is if an instance of SubType would inherit from x:






        function SuperType()

        function SubType()

        x = new SuperType();

        SubType.prototype = x;
        SubType.prototype.constructor = SubType;

        const instance = new SubType();
        console.log(x.isPrototypeOf(instance)) // returns true
        console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true








        share|improve this answer

























          5












          5








          5







          SubType is a function. What you probably want to check is if an instance of SubType would inherit from x:






          function SuperType()

          function SubType()

          x = new SuperType();

          SubType.prototype = x;
          SubType.prototype.constructor = SubType;

          const instance = new SubType();
          console.log(x.isPrototypeOf(instance)) // returns true
          console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true








          share|improve this answer













          SubType is a function. What you probably want to check is if an instance of SubType would inherit from x:






          function SuperType()

          function SubType()

          x = new SuperType();

          SubType.prototype = x;
          SubType.prototype.constructor = SubType;

          const instance = new SubType();
          console.log(x.isPrototypeOf(instance)) // returns true
          console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true








          function SuperType()

          function SubType()

          x = new SuperType();

          SubType.prototype = x;
          SubType.prototype.constructor = SubType;

          const instance = new SubType();
          console.log(x.isPrototypeOf(instance)) // returns true
          console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true





          function SuperType()

          function SubType()

          x = new SuperType();

          SubType.prototype = x;
          SubType.prototype.constructor = SubType;

          const instance = new SubType();
          console.log(x.isPrototypeOf(instance)) // returns true
          console.log(SuperType.prototype.isPrototypeOf(SubType.prototype)) // returns true






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 1 hour ago









          KaiidoKaiido

          46.4k468109




          46.4k468109























              2














              It helps to add properties to the objects to see what's happening. I fixed a little of your code. You can run this in the console:



              function SuperType(foo) this.foo = foo ;
              function SubType(bar) this.bar = bar ;

              var x = new SubType("bar");

              SuperType.prototype = x;
              SuperType.prototype.constructor = SubType;


              Now, you asked x.isPrototypeOf(SuperType) and it returns false, because x is not a property of the class SuperType. But when you instantiate a SuperType, x is a property of that new object:



              var y = new SuperType("foo");
              console.log(x.isPrototypeOf(y)) // returns true


              In your example that is true, SubType.prototype is a prototype of SuperType.prototype and returns true.



              console.log(SubType.prototype.isPrototypeOf(SuperType.prototype)) // returns true





              share|improve this answer








              New contributor




              David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.
























                2














                It helps to add properties to the objects to see what's happening. I fixed a little of your code. You can run this in the console:



                function SuperType(foo) this.foo = foo ;
                function SubType(bar) this.bar = bar ;

                var x = new SubType("bar");

                SuperType.prototype = x;
                SuperType.prototype.constructor = SubType;


                Now, you asked x.isPrototypeOf(SuperType) and it returns false, because x is not a property of the class SuperType. But when you instantiate a SuperType, x is a property of that new object:



                var y = new SuperType("foo");
                console.log(x.isPrototypeOf(y)) // returns true


                In your example that is true, SubType.prototype is a prototype of SuperType.prototype and returns true.



                console.log(SubType.prototype.isPrototypeOf(SuperType.prototype)) // returns true





                share|improve this answer








                New contributor




                David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.






















                  2












                  2








                  2







                  It helps to add properties to the objects to see what's happening. I fixed a little of your code. You can run this in the console:



                  function SuperType(foo) this.foo = foo ;
                  function SubType(bar) this.bar = bar ;

                  var x = new SubType("bar");

                  SuperType.prototype = x;
                  SuperType.prototype.constructor = SubType;


                  Now, you asked x.isPrototypeOf(SuperType) and it returns false, because x is not a property of the class SuperType. But when you instantiate a SuperType, x is a property of that new object:



                  var y = new SuperType("foo");
                  console.log(x.isPrototypeOf(y)) // returns true


                  In your example that is true, SubType.prototype is a prototype of SuperType.prototype and returns true.



                  console.log(SubType.prototype.isPrototypeOf(SuperType.prototype)) // returns true





                  share|improve this answer








                  New contributor




                  David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.










                  It helps to add properties to the objects to see what's happening. I fixed a little of your code. You can run this in the console:



                  function SuperType(foo) this.foo = foo ;
                  function SubType(bar) this.bar = bar ;

                  var x = new SubType("bar");

                  SuperType.prototype = x;
                  SuperType.prototype.constructor = SubType;


                  Now, you asked x.isPrototypeOf(SuperType) and it returns false, because x is not a property of the class SuperType. But when you instantiate a SuperType, x is a property of that new object:



                  var y = new SuperType("foo");
                  console.log(x.isPrototypeOf(y)) // returns true


                  In your example that is true, SubType.prototype is a prototype of SuperType.prototype and returns true.



                  console.log(SubType.prototype.isPrototypeOf(SuperType.prototype)) // returns true






                  share|improve this answer








                  New contributor




                  David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  share|improve this answer



                  share|improve this answer






                  New contributor




                  David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  answered 1 hour ago









                  David KlingeDavid Klinge

                  564




                  564




                  New contributor




                  David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.





                  New contributor





                  David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.






                  David Klinge is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55821319%2fwhy-isprototypeof-returns-false%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Disable / Remove link to Product Items in Cart Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How can I limit products that can be bought / added to cart?Remove item from cartHide “Add to Cart” button if specific products are already in cart“Prettifying” the custom options in cart pageCreate link in cart sidebar to view all added items After limit reachedLink products together in checkout/cartHow to Get product from cart and add it againHide action-edit on cart page if simple productRemoving Cart items - ObserverRemove wishlist items when added to cart

                      Adjektiivitarina Tarinan tekeminen | Esimerkki: ennen | Esimerkki: jälkeen | Navigointivalikko

                      HP P840 HDD RAID 5 many strange drive faiuresHP SmartArray P400: How to repair failed logical drive?Reusing Raid 5 Drive?reliably and automatically determine connection path of physical position of HDD from /dev/sdX device fileHow to replace failed drive in RAID 5 array in HP DL380 G4 serverQuestions on increasing RAID 5 arrayRaid 10, Logical device are missingHP Code 341 “Physical Drive State: Predictive failure. This physical drive is predicted to fail soon.”HPE 1.92TB SATA 6G Mixed Use SFF SSD very slow compared to SAS HDD HP disksHP drive array “ready for rebuild” (RAID5)Hard Disc Failure or RAID Glitch