A reflexão em JavaScript é considerada a capacidade de manipular propriedades, variáveis e métodos de objeto em tempo de execução. Refletir a API foi introduzida como um novo objeto global em ES6, permitindo que você invoca métodos de objeto, obtenha e defina valores de propriedades do objeto, construir objetos, estender e manipular propriedades. Também permite criar estruturas e programas dinâmicos de manuseio de código.
Este artigo discutirá o usar de Refletir API em JavaScript com a ajuda de exemplos adequados. Então vamos começar!
Refletir API em JavaScript
Refletir é um novo objeto global que oferece inúmeras funções de utilidade que se sobrepõem ao ES5 Global “Objeto”. Todos os métodos de API refletidos refletidos são os “Funções de introspecção,”Que permitem examinar e manipular as características de um objeto no tempo de execução.
Aqui, o ponto a considerar é que as funções de introspecção já estão incorporadas em JavaScript; Então, por que uma nova API é necessária quando esses recursos já podem fazer parte do objeto JavaScript?
Dê uma olhada nos pontos abaixo para obter a resposta:
Todas as APIs em um único namespace: Como mencionamos anteriormente, as APIs de reflexão de objetos já existem no JavaScript; No entanto, eles não foram estruturados em um único espaço para nome. Então, no ES6, todas as APIs de reflexão são organizadas dentro do “RefletirNamespace.
Simplicidade de código: Em JavaScript, quando um método de introspecção não conclui uma operação relacionada ao objeto especificado, ele lança uma exceção. Isso adiciona sobrecarga adicional ao programador para lidar com a exceção. Considerando que, no caso de refletir API, a exceção é tratada como um “boleano”(Verdadeiro ou falso) valor.
Confiabilidade das chamadas de função: Comparado às funções do objeto no ES5, a API reflete fornece uma maneira mais elegante e confiável de chamar ou aplicar uma função.
Agora, vamos passar pelo uso dos métodos de API refletidos em detalhes.
Como usar refletir.Método Construct () em JavaScript
O "Refletir.construir()”O método JavaScript é usado para invocar o construtor de API refletir enquanto especifica os argumentos necessários. Este método se comporta de maneira semelhante ao “novoOperador. Você também pode utilizar o reflexo.Método de construção () para o protótipo de configuração de um objeto.
Sintaxe de usar refletir.Método Construct () em JavaScript
Refletir.Construct (Target, ArgumentsList [, NewTarget])Aqui, "alvo”Representa a função de destino que será invocada,“ArgummentList“São o parâmetro da função e“newTarget”É um parâmetro opcional usado para especificar o protótipo de um construtor.
Exemplo: como usar refletir.Método Construct () em JavaScript
Agora, vamos utilizar o reflete.Método de construção () para criar um objeto “x" tendo "Variedade”Prototype e a seguinte lista de argumentos:
const x = refletir.construção (matriz, [10,20,30,40,50]);A execução do código acima do ritmo retornará um novo “x”Objeto com a lista de argumentos especificados e seu protótipo:
Como usar refletir.Método Aplicar () em JavaScript
O "Refletir.aplicar()”O método é usado para chamar uma função com a ajuda do argumento especificado.
Sintaxe de usar refletir.Método Aplicar () em JavaScript
Refletir.aplicar (alvo, thisArg, argumentos)Aqui, "alvo”Representa a função de destino que será invocada,“thisarg”Vai se comportar como um“essePalavra -chave para a função e “argumentos”Representam os parâmetros que a função invocada aceitará.
Exemplo: como usar refletir.Método Aplicar () em JavaScript
Primeiro de tudo, criaremos um “x”Array que compreende cinco elementos:
var x = [10,20,30,40,50];Na próxima etapa, usaremos o “Refletir.aplicar()”Método para aplicar o“Matemática.máx”Função para a matriz chamada“x”:
console.log (reflita.Aplique (matemática.max, indefinido, x));O "Matemática.máx”A função retornará o maior número que existe no“x" variedade:
Como usar refletir.Método DefineProperty () em JavaScript
Se você deseja adicionar ou atualizar as propriedades de um objeto, use o Refletir.DefineProperty () Método JavaScript. Funciona semelhante ao Objeto.DefineProperty () método; No entanto, o Refletir.DefineProperty () O método retorna um valor booleano, e depois o objeto modificado.
Sintaxe de usar refletir.Método DefineProperty () em JavaScript
Refletir.DefineProperty (Target, PropertyKey, Atributos)Aqui, "alvo”Representa a função de destino que será invocada,“PropertyKey”Indica a propriedade do objeto que precisa ser definida ou modificada e“atributos”Defina o valor para o PropertyKey especificado.
Exemplo: como usar refletir.Método DefineProperty () em JavaScript
No exemplo abaixo, vamos definir “vamos definir“suporte"Como PropertyKey para o"obj1”Javascript Object, que contém“60”Como seu valor:
const obj1 = ;Como você pode ver, definimos com sucesso um valor para o “suporte”PropertyKey de“obj1”Usando o Refletir.DefineProperty () método:
Como usar refletir.Método Get () em JavaScript
Em JavaScript, o Refletir.Método Get () Recupera a propriedade de um objeto como uma função.
Sintaxe de usar refletir.Método Get () em JavaScript
Refletir.Get (Target, PropertyKey [, receptor])Aqui, "alvo”Representa o objeto JavaScript cuja propriedade é acessada,“PropertyKey”Indica o nome da propriedade que você deseja obter e“receptor”É um parâmetro opcional que representa o valor de“esse”Utilizado para chamar o alvo.
Exemplo: como usar refletir.Método Get () em JavaScript
O "Refletir.pegar()”O método é usado no exemplo a seguir para obter o primeiro valor da propriedade do “x" variedade:
var x = [10,20,30,40,50];A saída do código fornecido exibirá o valor da propriedade especificada:
Como usar refletir.getPrototypeOf () Método em JavaScript
O "Refletir.getPrototypeOf ()”O método é chamado para recuperar o protótipo de um objeto JavaScript.
Sintaxe de usar refletir.getPrototypeOf () Método em JavaScript
Refletir.getPrototypeOf (Target)Aqui, "alvo”Representa os objetos cujo protótipo será recuperado com a ajuda de Refletir.getPrototypeOf () método.
Exemplo: como usar refletir.getPrototypeOf () Método em JavaScript
Em primeiro lugar, criaremos um objeto de “nulo”Prototipo:
const obj1 = objeto.criar (nulo);Depois disso, usaremos o “Refletir.getPrototypeOf ()”Método para obter o protótipo de“obj1”:
console.log (reflita.getPrototypeOf (obj1));A saída abaixo do ritmo significa que “obj1" tem "nulo”Prototipo:
Como usar refletir.Método set () em JavaScript
Em JavaScript, o Refletir.Método set () é utilizado para definir o valor da propriedade de um objeto.
Sintaxe de usar refletir.Método set () em JavaScript
Refletir.Set (Target, PropertyKey, Value [, Receptor])Aqui, "alvo”Representa o objeto JavaScript Valor da propriedade inteira que vamos definir,“PropertyKey”É uma propriedade de objeto especificada,“valor”Indica o novo valor. Por último, "receptor”É um parâmetro opcional com o valor de“esse”Utilizado para chamar o alvo.
Exemplo: como usar refletir.Método set () em JavaScript
Para demonstrar o uso de refletir.Método set (), antes de tudo, crie um objeto vazio chamado “obj”:
const obj = [];Em seguida, execute o código abaixo para definir os valores da propriedade do objeto especificado:
Refletir.set (obj, 0, 'primeiro');Agora, confira o “obj”Valores de propriedade que definimos usando o reflete.Método set ():
Como usar refletir.Método DeleteProperty () em JavaScript
Você pode utilizar o Refletir.Método DeleteProperty () para excluir a propriedade especificada de um objeto.
Sintaxe de usar refletir.Método DeleteProperty () em JavaScript
Refletir.DeleteProperty (Target, PropertyKey)Aqui, "alvo”Representa o objeto JavaScript cuja propriedade será excluída e“PropertyKey”Indica sua propriedade.
Exemplo: como usar refletir.Método DeleteProperty () em JavaScript
Este exemplo usará o reflete.Método DeleteProperty () para excluir o primeiro Valor da propriedade do criado “x”Objeto:
var x = [10,20,30,40,50];Saída
O "Refletir.DeleteProperty ()”O método retornará“verdadeiro"Se a propriedade do objeto especificado for excluído com sucesso; Caso contrário, o caso de retorno será definido como “falso”Quando a propriedade especificada não é encontrada.
Conclusão
O uso de API refletir em JavaScript permite que você invoca métodos de objeto, obtenha e definir valores de propriedades de objeto, construir objetos, estender e manipular suas propriedades no tempo de execução. Também permite a criação de estruturas e programas dinâmicos de manipulação de código. Este artigo discutiu o uso da API refletida em JavaScript com a ajuda de exemplos adequados.