2013-08-08 5 views
5

모든 자식 클래스에 대해 동일한 논리를 갖고 있지만 해당 변수를 사용하는 기본 클래스 메서드를 구현하려고합니다.부모 클래스에서 자식 클래스 프로토 타입 액세스

function A() {} 
A.prototype.foo = 'bar'; 
A.prototype.getFoo = function() { 
    console.log('Called class: ' + this.constructor.name); 
    return this.foo; 
}; 

function B() {} 
B.prototype.foo = 'qaz'; 
require('util').inherits(B, A); 

console.log(B.prototype.getFoo()); 

마지막 줄 bar을 인쇄하지만, getFoo()는 Called class: B를 인쇄합니다. 그래서 저는 아이의 생성자에 액세스 할 수 있으므로 아이의 프로토 타입에 액세스 할 수있는 방법이 있습니까?

+0

프로토 타입에만 기능을 넣으십시오. – Esailija

답변

5

require('util').inheritsA을 상속 한 새 개체에 B.prototype을 다시 설정합니다.
기존 프로토 타입에 설정 한 모든 속성이 손실됩니다.

B.prototype.foo (inherits())으로 설정하면 올바르게 작동합니다.

+0

알 수 있습니다. 감사! – klkvsk

관련 문제