コンストラクター関数についての私の理解は、コンストラクター関数のnew
プロトタイプオブジェクトを返すことです。ただし、以下のコードでは、new Customer()
Customerオブジェクトを返しているようで、PersonであるCustomer.prototypeを返すと思います。私の理解は間違っていますか?
function Person(name){
this.name = name;
}
function Customer(){
}
//* inherit from Person This creates an object from Person.Prototype
Customer.prototype = new Person("James");
var newCustomer = new Customer();//*this should return Customer. prototype object-
which is Person*//
newCustomer.sayHello = function() {
console.log( "newCustomer " + this.name + "says Hello" ) ;
}
newCustomer.sayHello();
デバッガーのスクリーンショットを参照してください。