Kann ich eine Objektmethode mit dem Methodennamen als Zeichenfolge dynamisch aufrufen? Ich würde es mir so vorstellen:
var FooClass = function() {
this.smile = function() {};
}
var method = "smile";
var foo = new FooClass();
// I want to run smile on the foo instance.
foo.{mysterious code}(); // being executed as foo.smile();
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'FooClass'
jemand anderes?Auf Eigenschaften von Objekten kann über die Array-Notation zugegriffen werden:
quelle
Methode kann mit eval aufgerufen werden, was
eval("foo." + method + "()");
möglicherweise nicht sehr gut ist.quelle
foo
ist{ fields: [{ id: 1 }] }
undmethod
istfields[0]?.id
, aber ich musste()
aus Ihrer vorgeschlagenen Antwort entfernenWenn wir eine Funktion innerhalb eines Objekts aufrufen, müssen wir den Namen der Funktion als String angeben.
quelle
Ich möchte hier ein Beispiel dafür hinterlassen. Beispielsweise; Ich möchte eine dynamische Prüfmethode aufrufen, während ich das Formular abschicke.
quelle