Why isPrototypeOf() returns false? Unicorn Meta Zoo #1: Why another podcast? ...

Simulate round-robin tournament draw

Is there a way to fake a method response using Mock or Stubs?

What's called a person who works as someone who puts products on shelves in stores?

Why did Europeans not widely domesticate foxes?

RIP Packet Format

Co-worker works way more than he should

/bin/ls sorts differently than just ls

Protagonist's race is hidden - should I reveal it?

Why doesn't the university give past final exams' answers?

Bright yellow or light yellow?

Does a Draconic Bloodline sorcerer's doubled proficiency bonus for Charisma checks against dragons apply to all dragon types or only the chosen one?

A journey... into the MIND

Was Objective-C really a hindrance to Apple software development?

France's Public Holidays' Puzzle

Preserving file and folder permissions with rsync

How can I wire a 9-position switch so that each position turns on one more LED than the one before?

Where to find documentation for `whois` command options?

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

What does the black goddess statue do and what is it?

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

Did war bonds have better investment alternatives during WWII?

Stretch a Tikz tree

Retract an already submitted Recommendation Letter (written for an undergrad student)

My admission is revoked after accepting the admission offer



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

                      Paper upload error, “Upload failed: The top margin is 0.715 in on page 3, which is below the required...

                      Emraan Hashmi Filmografia | Linki zewnętrzne | Menu nawigacyjneGulshan GroverGulshan...

                      How can I write this formula?newline and italics added with leqWhy does widehat behave differently if I...