Posso chamar dinamicamente um método de objeto com o nome do método como uma string? Eu imaginaria assim:
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'
mais alguém?As propriedades dos objetos podem ser acessadas por meio da notação de matriz:
fonte
método pode ser chamado com eval
eval("foo." + method + "()");
pode não ser uma maneira muito boa.fonte
foo
está{ fields: [{ id: 1 }] }
emethod
estáfields[0]?.id
, mas tive que remover()
de sua resposta propostaQuando chamamos uma função dentro de um objeto, precisamos fornecer o nome da função como String.
fonte
Eu gostaria de deixar um exemplo aqui para isso. Por exemplo; Eu quero chamar um método de verificação dinâmica ao enviar o formulário.
fonte