Wie Aaron bereits im Kommentar oben erwähnt, sehen öffentliche und private Mitglieder in Javascript gleich aus, daher kann es keine Methode geben, die zwischen ihnen unterscheidet. Zum Beispiel wird die folgende Typoskript-Code
class Car {
public model: string;
private brand: string;
public constructor(model:string , brand: string){
this.model = model;
this.brand = brand;
}
};
zusammengestellt: wenn
var Car = (function() {
function Car(model, brand) {
this.model = model;
this.brand = brand;
}
return Car;
}());
;
Wie Sie, in der kompilierten JavaScript Version sehen können, gibt es absolut keinen Unterschied zwischen den Mitgliedern model
und brand
, Veranstaltung einer von ihnen ist privat und der andere ist öffentlich.
Sie können zwischen privaten und öffentlichen Mitgliedern unterscheiden, indem Sie eine Namenskonvention verwenden (z. B. public_member
und __private_member
).
Dies wurde möglicherweise schon beantwortet (verwenden Sie 'hasOwnProperty'): https://StackOverflow.com/questions/35691858/typescript-hasownproperty-äquivalent und der' typeof' -Operator https://developer.mozilla.org/en -US/docs/Web/JavaScript/Referenz/Operatoren/typeof –
Zur Laufzeit sehen 'public' und' private' Mitglieder gleich aus, daher glaube ich nicht, dass es möglich ist, die öffentliche API zu finden, wie du sie beschrieben hast. – Aaron