次のようなコードがあります。
var Product = function(){
}
Product.prototype =
{
GetName: function(){
return this.name;
},
name: "something"
};
var Apparel = function(){
}
Apparel.prototype = Object.create(Product.prototype);
var jeans = new Apparel();
console.log(jeans.name);
console.log(jeans.GetName());
jeans.name = "Levis";
console.log(jeans.name);
console.log(jeans.GetName());
出力: 何か 何か リーバイス リーバイス
したがって、すべてが正常に機能します。しかし、問題は、jeans.name = "Levis" の割り当てを実行するとすぐに、デバッガーの TWO 'name's. 親製品用に 1 つ、アパレル用に 1 つ。メモリの無駄じゃない?name は親のプロパティであるため、新しいプロパティが作成されるのではなく、このプロパティが使用されることを期待しています。
理由についてのアイデアはありますか?
ありがとう
リオール