Cómo usar la API de reflexión en JavaScript

Cómo usar la API de reflexión en JavaScript

La reflexión en JavaScript se considera la capacidad de manipular propiedades, variables y métodos de objetos en tiempo de ejecución. Reflejar la API se introdujo como un nuevo objeto global en ES6, habilitándole invocar métodos de objetos, obtener y establecer valores de propiedad de objetos, construir objetos, extender y manipular propiedades. También le permite crear marcos y programas dinámicos de manejo de código.

Este artículo discutirá el usar de Reflejar API en Javascript con la ayuda de ejemplos adecuados. Entonces, comencemos!

Reflejar la API en JavaScript

Reflejar es un nuevo objeto global que ofrece numerosas funciones de utilidad que se superponen con el ES5 Global "Objeto". Todos los métodos API de reflexión proporcionados son los "Funciones de introspección,"Que le permiten examinar y manipular las características de un objeto en el tiempo de ejecución.

Aquí, el punto a considerar es que las funciones de introspección ya están integradas en JavaScript; Entonces, ¿por qué se requiere una nueva API cuando estas características ya pueden ser parte del objeto JavaScript??

Eche un vistazo a los puntos dados a continuación para obtener la respuesta:

Todas las API en un solo espacio de nombres: Como hemos mencionado anteriormente, las API de reflexión de objetos ya existen en JavaScript; Sin embargo, no estaban estructurados en un solo espacio de nombres. Entonces, en ES6, todas las API de reflexión están organizadas dentro del "Reflejar"Espacio de nombres.

Simplicidad del código: En JavaScript, cuando un método de introspección no puede completar una operación relacionada con el objeto especificado, lanza una excepción. Esto agrega sobrecarga adicional al programador para manejar la excepción. Mientras que, en el caso de reflejar la API, la excepción se maneja como un "Booleano"(Verdadero o falso) valor.

Confiabilidad de las llamadas de función: En comparación con las funciones de objetos en ES5, la API de reflejo proporciona una forma más elegante y confiable de llamar o aplicar una función.

Ahora, pasemos por el uso de los métodos de reflexión API en detalle.

Cómo usar reflejar.Construct () Método en JavaScript

El "Reflejar.construir()"El método JavaScript se utiliza para invocar el constructor de API reflejar mientras especifica los argumentos requeridos. Este método se comporta de manera similar al "nuevo"Operador. También puedes utilizar el reflejo.método construct () para el prototipo de configuración de un objeto.

Sintaxis de usar reflejar.Construct () Método en JavaScript

Reflejar.Construct (Target, ArgumentsList [, NewTarget])

Aquí, "objetivo"Representa la función objetivo que se invocará", "argumento"Son el parámetro de función y"nuevo objetivo"Es un parámetro opcional que se utiliza para especificar el prototipo de un constructor.

Ejemplo: cómo usar reflejar.Construct () Método en JavaScript

Ahora, utilizaremos el reflejo.método construct () para crear un objeto "X" teniendo "Formación"Prototipo y la siguiente lista de argumentos:

const x = reflejar.construcción (matriz, [10,20,30,40,50]);
consola.log (x);

La ejecución del código anterior devolverá un nuevo "XObjeto con la lista de argumentos especificados y su prototipo:

Cómo usar reflejar.Aplicar () método en JavaScript

El "Reflejar.aplicar()El método se utiliza para llamar a una función con la ayuda del argumento especificado.

Sintaxis de usar reflejar.Aplicar () método en JavaScript

Reflejar.Aplicar (Target, Thisarg, argumentos)

Aquí, "objetivo"Representa la función objetivo que se invocará", "thantarg"Se comportará como un"este"Palabra clave para la función y"argumentos"Representar los parámetros que la función invocada aceptará.

Ejemplo: cómo usar reflejar.Aplicar () método en JavaScript

En primer lugar, crearemos un "X"Array que comprende cinco elementos:

var x = [10,20,30,40,50];

En el siguiente paso, usaremos el "Reflejar.aplicar()Método "para aplicar el"Matemáticas.máximo"Función a la matriz llamada"X":

consola.registrar (reflejar.Aplicar (matemáticas.max, indefinido, x));

El "Matemáticas.máximo"La función devolverá el número más grande que existe en el"X"Array:

Cómo usar reflejar.Método DefineProperty () en JavaScript

Si desea agregar o actualizar las propiedades de un objeto, use el Reflejar.DefineProperty () Método JavaScript. Funciona de manera similar al Objeto.DefineProperty () método; Sin embargo, el Reflejar.DefineProperty () El método devuelve un valor booleano en lugar del objeto modificado.

Sintaxis de usar reflejar.Método DefineProperty () en JavaScript

Reflejar.DefineProperty (Target, PropertyKey, atributos)

Aquí, "objetivo"Representa la función objetivo que se invocará", "propiedad de la propiedad"Indica la propiedad del objeto que debe definirse o modificarse, y"atributos"Establezca el valor para la propiedad de propiedad especificada.

Ejemplo: cómo usar reflejar.Método DefineProperty () en JavaScript

En el ejemplo dado a continuación, definiremos "apuntalar"Como PropertyKey para el"obj1"Objeto JavaScript que contiene"60"Como su valor:

const obj1 = ;
(Reflejar.DefineProperty (obj1, 'prop', valor: 60))
consola.Log (OBJ1.apuntalar);

Como puede ver, hemos definido con éxito un valor para el "apuntalar"PropertyKey de"obj1" utilizando el Reflejar.DefineProperty () método:

Cómo usar reflejar.Método get () en JavaScript

En JavaScript, el Reflejar.método get () Recupera la propiedad de un objeto en función.

Sintaxis de usar reflejar.Método get () en JavaScript

Reflejar.Get (Target, PropertyKey [, receptor])

Aquí, "objetivo"Representa el objeto JavaScript cuya propiedad se accede", "propiedad de la propiedad"Indica el nombre de la propiedad que desea obtener, y"receptor"Es un parámetro opcional que representa el valor de"este"Utilizado para llamar al objetivo.

Ejemplo: cómo usar reflejar.Método get () en JavaScript

El "Reflejar.conseguir()El método se utiliza en el siguiente ejemplo para obtener el primero valor de propiedad del "X"Array:

var x = [10,20,30,40,50];
consola.registrar (reflejar.Get (x, '1'));

La salida del código proporcionado mostrará el valor de la propiedad especificada:

Cómo usar reflejar.Método GetPrototypeOf () en JavaScript

El "Reflejar.getPrototypeOf ()El método se invoca para recuperar el prototipo de un objeto JavaScript.

Sintaxis de usar reflejar.Método GetPrototypeOf () en JavaScript

Reflejar.GetPrototypeOF (Target)

Aquí, "objetivo"Representa los objetos cuyo prototipo se recuperará con la ayuda de Reflejar.getPrototypeOf () método.

Ejemplo: cómo usar reflejar.Método GetPrototypeOf () en JavaScript

En primer lugar, crearemos un objeto de "nulo" prototipo:

const obj1 = objeto.crear (nulo);

Después de eso, usaremos el "Reflejar.getPrototypeOf ()"Método para obtener el prototipo de"obj1":

consola.registrar (reflejar.getPrototypeOf (obj1));

La salida dada por debajo significa que "obj1" tiene "nulo" prototipo:

Cómo usar reflejar.Método set () en JavaScript

En JavaScript, el Reflejar.método set () se utiliza para establecer el valor de la propiedad de un objeto.

Sintaxis de usar reflejar.Método set () en JavaScript

Reflejar.establecer (Target, PropertyKey, valor [, receptor])

Aquí, "objetivo"Representa el objeto JavaScript Valor de propiedad completa que vamos a establecer",propiedad de la propiedad"Es una propiedad de objeto especificada", "valor"Indica el nuevo valor. Por último, "receptor"Es un parámetro opcional que tiene el valor de"este"Utilizado para llamar al objetivo.

Ejemplo: cómo usar reflejar.Método set () en JavaScript

Para demostrar el uso de reflexión.Método set (), en primer lugar, cree un objeto vacío llamado "obj":

const obj = [];

Luego, ejecute el código dividido a continuación para establecer los valores de propiedad del objeto especificado:

Reflejar.set (obj, 0, 'primero');
Reflejar.set (obj, 1, 'segundo');
Reflejar.set (obj, 2, 'tercero');
consola.log (obj);

Ahora, mira el "obj"Valores de propiedad que hemos establecido utilizando el reflejo.Método set ():

Cómo usar reflejar.método deleteproperty () en JavaScript

Puedes utilizar el Reflejar.método DeleteProperty () para eliminar la propiedad especificada de un objeto.

Sintaxis de usar reflejar.método deleteproperty () en JavaScript

Reflejar.DeleteProperty (Target, PropertyKey)

Aquí, "objetivo"Representa el objeto JavaScript cuya propiedad se eliminará, y"propiedad de la propiedad"Indica su propiedad.

Ejemplo: cómo usar reflejar.método deleteproperty () en JavaScript

Este ejemplo usará el reflejo.método deleteproperty () para eliminar el primero Valor de propiedad del creado "X" objeto:

var x = [10,20,30,40,50];
Reflejar.DeleteProperty (x, '1');

Producción

El "Reflejar.DeleteProperty ()"El método volverá"verdadero"Si la propiedad del objeto especificado se elimina correctamente; De lo contrario, el caso de devolución se establecerá en "FALSO"Cuando no se encuentra la propiedad especificada.

Conclusión

El uso de la API de reflejo en JavaScript le permite invocar métodos de objetos, obtener y establecer valores de propiedad de objetos, construir objetos, extender y manipular sus propiedades en tiempo de ejecución. También permite la creación de marcos y programas dinámicos de manejo de código. Este artículo sobre el uso de la API de reflexión en JavaScript con la ayuda de ejemplos adecuados.