var Person = function(name, age){
return Object.create(Object.prototype, {
name: {
value: name | "",
writable: true,
enumerable: true,
configurable: true
},
age: {
value: age | "",
writable: true,
enumerable: true,
configurable: true
}
});
};
var Boy = function(name, age){
return Object.create(Person(name, age), {
gender: {
value: "male"
}
});
};
var p = Person("John", 28);
var b = Boy();
console.log(p.isPrototypeOf(b)); // false?
object.create と、コンストラクターのnew
キーワードの使用を避けてそれを使用する最善の方法を理解しようとしています。これまでのところ、私は上記のように取り組んでいます (おそらく最良の方法ではなく、試行錯誤です) - 使用すると、オブジェクト型をチェックしてオブジェクト タイプobject.create
をチェックできなくなりましたinstanceof
。
誰かが isPrototypeOf を使用してチェックすることを提案しました-チェックfalse
時に上記のコードが返されるので、何か間違っています。
私が間違っているところを説明してくれる人はいますか?私はまだJavaScriptのプロトタイプ継承に慣れていません。