5.1 Ilustración

Para aquellos que tienen algo de experiencia en JavaScript, pero quizás nunca han comprendido completamente el concepto de closures, entender el closure puede parecer un nirvana especial que uno debe esforzarse y sacrificarse por alcanzar.

Recuerdo años atrás cuando tenía una comprensión firme de JavaScript, pero no tenía idea de qué era closures. La indirecta de que había ese otro lado del lenguaje, que me prometió aún más capacidad de la que ya poseía, me burlaba y me burlaba. Recuerdo leer a través del código fuente de los primeros frameworks tratando de entender cómo funciona realmente. Recuerdo la primera vez que algo del "patrón de módulo" comenzó a emerger en mi mente. ¡Recuerdo el a-ha! Momentos muy vívidos.

Lo que no sabía en ese entonces, lo que me llevó años entender, y lo que espero poder impartir, es el secreto: el closure está en todas partes de JavaScript, sólo hay que reconocerlo y abrazarlo. Closures no son una herramienta especial de opt-in que usted debe aprender nuevas sintaxis y patrones. No, los closures no son ni siquiera un arma que debes aprender a manejar y dominar como Luke entrenó en La Fuerza.

Los closures ocurren como resultado de escribir código que se basa en el alcance léxico. Simplemente suceden. Usted ni siquiera tiene que intencionalmente crear closures para tomar ventaja de ellos. Los closures se crean y se usan para usted en todo su código. Lo que le falta es el contexto mental apropiado para reconocer, abrazar y apalancar los closures por su propia voluntad.

El momento de la iluminación debe ser: oh, closures ya están apareciendo en todo mi código, finalmente puedo verlos ahora. Entender los closures es como cuando Neo ve la Matrix por primera vez.

Last updated