2
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
과 객체 유형을 확인할 수 없다.자바 스크립트 object.create 및 isPrototypeOf는
누군가가 isPrototypeOf를 사용하여 확인을 제안했습니다. 위의 코드에서 위의 코드가 잘못되었을 때 false
이 반환됩니다.
아무도 내가 잘못 가고 있다고 설명 할만큼 친절하지 않습니까? 나는 자바 스크립트에서 프로토 타입 상속을 처음 사용하고있다.