Rolf B: Function Borrowing mit Konstruktor-Funktion?

Beitrag lesen

Hallo MB,

Es bleibt aber die Frage, wie der DummyUser oder Borrower in der Klassenhierarchie zu User/AbstractUser in Beziehung steht.

Ohne diese Beziehung kann der User getFormalName nicht kennen.

Ich verstehe auch überhaupt nicht, was Du mit deiner Borgerei bezwecken willst.

Wenn Du eine Klasse X mit der Methode foo hast und diese Methode "borgen" willst, um sie auf ein Objekt der Klasse Y anzuwenden, dann macht man das normalerweise so:

y = new Y();

X.prototype.foo.apply(y)

Das funktioniert natürlich nur, wenn y halbwegs "x-artig" ist, so dass die foo-Methode ihr erwartetes Umfeld vorfindet.

Was man auch machen kann, ist eine Funktion an zwei Prototypen zuweisen (bzw. aus dem einen Prototypen herausholen und im anderen speichern). Sowas habe ich gerne als trivialen Polyfill für die NodeList gemacht, um dort im Internet Explorer eine forEach Methode bereitzustellen:

if (!NodeList.prototype.forEach)
{
   NodeList.prototype.forEach = Array.prototype.forEach;
}

Rolf

--
sumpsi - posui - obstruxi