Eigentlich ist es möglich.
1. Erstelle die Klasse und gib im Konstruktor die aufgerufene _public
-Funktion zurück.
2. Übergib im aufgerufenen _public
-Funktion den this
-Verweis (um Zugriff auf alle privaten Methoden und Eigenschaften zu erhalten) und alle Argumente aus dem Konstruktor
(die im new Names()
übergeben werden)
3. Im Bereich der _public
-Funktion gibt es auch die Names
-Klasse mit Zugriff auf den this
(_this)-Verweis der privaten Names
-Klasse
class Names {
constructor() {
this.privateProperty = 'John';
return _public(this, arguments);
}
privateMethod() { }
}
const names = new Names(1,2,3);
console.log(names.somePublicMethod); //[Function]
console.log(names.publicProperty); //'Jasmine'
console.log(names.privateMethod); //undefined
console.log(names.privateProperty); //undefind
function _public(_this, _arguments) {
class Names {
constructor() {
this.publicProperty = 'Jasmine';
_this.privateProperty; //"John";
_this.privateMethod; //[Function]
}
somePublicMethod() {
_this.privateProperty; //"John";
_this.privateMethod; //[Function]
}
}
return new Names(..._arguments);
}