javascript - Why does bob instanceof Person return false? -
i need explain me why bob instanceof person
returns false code:
var person = function(firstandlast) { var names = firstandlast.split(' '); return { getfirstname: function() { return names[0]; }, getlastname: function() { return names[1]; }, getfullname: function() { return names[0] + " " + names[1]; }, setfirstname: function(first) { names[0] = first; }, setlastname: function(last) { names[1] = last; }, setfullname: function(firstandlast) { names = firstandlast.split(' '); } }; }; var bob = new person('bob ross');
i've tried looking answer couldn't find anything. far understand bob instanceof person
should return true doesn't.
the problem you're returning object constructor. object not object initialized new
, it's not instance of person
class. should assigning this.propertyname
in constructor, , let return default value.
var person = function(firstandlast) { var names = firstandlast.split(' '); this.getfirstname = function() { return names[0]; }; this.getlastname = function() { return names[1]; }; this.getfullname = function() { return names[0] + " " + names[1]; }; this.setfirstname = function(first) { names[0] = first; }; this.setlastname = function(last) { names[1] = last; }; this.setfullname = function(firstandlast) { names = firstandlast.split(' '); }; }; var bob = new person('bob ross'); console.log(bob instanceof person);
Comments
Post a Comment