Typoskript hasOwnProperty entspricht
In javascript, wenn ich will, um eine Schleife durch ein Wörterbuch und die Eigenschaften von einem anderen Wörterbuch, ich würde so etwas wie dieses:
for (let key in dict) {
if (obj.hasOwnProperty(key)) {
obj[key] = dict[key];
}
}
Wenn obj
ist ein Typoskript Objekt (Instanz einer Klasse), gibt es eine Möglichkeit, führen Sie den gleichen Vorgang?
Du musst angemeldet sein, um einen Kommentar abzugeben.
JavaScript ist gültig Typoskript (mehr). So können Sie denselben code verwenden, wie es ist.
Hier ist ein Beispiel:
Hinweis: ich würde empfehlen
Object.keys(obj).forEach(k=>
auch für JavaScript, aber das ist nicht die Frage, die Sie Fragen hier.class A { prop1:string, prop2:number}
wird nicht aufgezählt werden, die von jederObject.keys
oderthis.hasOwnProperty(k)
da das autogen javascript hat keine Kenntnis über diese Eigenschaften.Object.keys(obj).forEach(k=>
überfor()
?Könnte man wahrscheinlich nur ECMAScript 2015 ist
- Objekt.assign(obj, dict);
Typoskript spread-operator
in den Sinn kommt, aber ich glaube es ist nicht anwendbar, weil das ist für das erstellen eines neuen Objekts, wollen Sie überschreiben Eigenschaften in einer vorhandenen Klasse.
Dinge bewusst zu sein ist, ist es nur eine flache Kopie, und es wird aufgerufen, Setzer in der Ziel-Klasse, wenn Sie vorhanden sind.