Red de conocimiento informático - Consumibles informáticos - ¿Para qué se utilizan los cierres (js)?

¿Para qué se utilizan los cierres (js)?

Un cierre es una función que tiene acceso a variables en el alcance de otra función.

Un cierre es una colección de variables locales de una función, pero estas variables locales seguirán existiendo después de que la función regrese. El cierre significa que la "pila" de una función no se libera después de que la función regresa. También podemos entender que estas pilas de funciones no se asignan en la pila sino en el montón. Los cierres se crean cuando una función se define dentro de otra función.

La función es: función autoejecutable anónima: conocemos todas las variables. Si no se agrega la palabra clave var, se agregará a las propiedades del objeto global de forma predeterminada. Desventajas agregadas al objeto global, como: otras funciones pueden hacer un mal uso de estas variables, lo que hace que el objeto global sea demasiado grande, lo que afecta la velocidad de acceso (porque el valor de la variable debe atravesarse desde la cadena del prototipo). Además de usar la palabra clave var cada vez que se usa una variable, a menudo nos encontramos con una situación de este tipo en situaciones reales, es decir, algunas funciones solo necesitan ejecutarse una vez y no es necesario mantener sus variables internas, y los cierres pueden utilizarse.

Almacenamiento en caché de resultados: encontraremos muchas situaciones en el desarrollo. Imagine que tenemos un objeto de función cuyo procesamiento requiere mucho tiempo. Cada llamada tomará mucho tiempo, luego debemos calcular el valor y almacenarlo. Cuando se llama a esta función, primero buscará en el caché. Si no se encuentra, lo calculará, luego actualizará el caché y devolverá el valor. Los cierres hacen exactamente esto porque no liberan referencias externas, por lo que se pueden conservar los valores dentro de la función.