2011-12-17 3 views
2

Есть ли способ получить доступ к переменной класса в конструкторе? КонструкторКак получить доступ к переменным класса в конструкторе? (node.js OOP)

var Parent = function() { 
    console.log(Parent.name); 
}; 
Parent.name = 'parent'; 

var Child = function() { 
    Parent.apply(this, arguments); 
} 
require('util').inherits(Child, Parent); 
Child.name = 'child'; 

т.е. родитель должен войти «родитель» и конструктор ребенка должен войти «ребенок» на основе одного некоторый класс переменного в каждом классе.

Вышеуказанный код не работает, как я ожидаю.

ответ

1

Здесь в ванили ЯШ:

var Parent = function() { 
    console.log(this.name); 
}; 
Parent.prototype.name = 'parent'; 

var Child = function() { 
    Parent.apply(this, arguments); 
} 

Child.prototype = new Parent(); 
Child.prototype.constructor = Child; 
Child.prototype.name = 'child'; 

var parent = new Parent(); 
var child = new Child(); 

utils.inherits только упрощает

Child.prototype = new Parent(); 
Child.prototype.constructor = Child; 

Into

util.inherits(Child, Parent); 
+0

utils.inherits делает не более, чем описано (не экземпляр: подкласс). –

Смежные вопросы