El único ejemplo que necesitas para entender Global Execution Context en Javascript
El concepto de Execution Context es algo normalmente reservado para solo los desarrolladores avanzados de Javascript. No es común que se considere un tema digno de enseñarse al principio. Sin embargo entenderlo es la vía a hacerte la vida mas fácil cuando estes debuggeando o aprendiendo otros conceptos del lenguaje, como this o el Call […]
Porque NO deberías usar FiB en Javascript
FiB (Function Declaration in Blocks) es un concepto que describe una forma de declarar las funciónes en Javascript pero rara vez usada. El concepto se traduce en español a: Declaración de funciones dentro de bloques. El nombre lo dice todo. Pero de todas maneras, ilustremos lo obvio. Un bloque en JS es cualquier parte del […]
Los 3 tipos de módulos en Javascript
Al hablar de módulos en JS uno puede llegar a confundirse. Por un lado encuentras tutoriales sobre como configurar tus archivos a la CommonJS, por otro ves que te recomiendan que uses ESModules y a veces encuentras una explicación acerca de un módulo clásico que no se parece a ninguno de los otros 2. Es […]
6 características importantes de strict mode en JS
El strict mode es un set de reglas que habilita un modo de operación más recomendable para Javascript. Este modo se introdujo en ES5, y us propósito era precisamente habilitar reglas que ayudaran a escribir código con buenas prácticas de progamación. Aunque su uso se mantuvo opcional para no interferir con el estándar en ese […]
¿Qué es un módulo en JS?
¿Alguna vez has escuchado el término Módulo al momento de trabajar en un proyecto? Es muy probable que si. La palabra es comúnmente usada en cualquier proyecto para referirse al concepto de una sección o una parte de una aplicación. Pero en JS (y de hecho en la mayoría de los lenguajes) existe una definición […]
Lo que debes de saber de los Closures de JS en 20 minutos
Closure es un concepto complicado… No porque sea dificíl per se, sino porque es un concepto abastracto que involucra varios conceptos que trabajan entre sí: scopes, bloques, funciones internas, etc. Sin embargo es un concepto tan común que probablemente ya lo hayas usado antes aunque no te hayas dado cuenta. La única excepción es si […]
Aprende en 10 minutos como funciona el Recolector de Basura de JS
Todo proceso en computación necesita de cierto espacio en memoria para ejecutarse. Cuando tu ejecutas un programa, cada variable que declaras, cada función, cada dato que manejas, sea un objeto o sea un valor primitivo, todo ocupa memoria. Pero creo que es obvio decir que no todo lo que se se guarda en memoria se […]
La zona de muerte en JS: TDZ – Temporal Dead Zone
La Zona de Muerte Temporal (TDZ) es un nombre dramático para un concepto muy simple en programación. *A veces también se le llama Temporal Data Zone. Es un periodo de tiempo muy breve en el que no se puede utilizar una variable. Este período inicia en el momento en el que se entra al scope […]
Aprende en 2 minutos: IIFE – Immediately Invoked Function Expression
Las Expresiones de Funciones Inmediatamente Invocadas o IIFE para acortar, es como se llama a las funciones en Javascript que se mandan a llamar aparentemente en el mismo momento en el que son declaradas. Basandose en esa explicación tu podrías pensar que ya es algo que has usado antes: Pero ¡No! Esto es una declaración […]
Aprende qué es Hoisting en Javascript en 5 minutos
Hoisting es un proceso importante para Javascript que ocurre antes de ejecutar el código. En mi experiencia, es de las preguntas que más les gusta hacer en las entrevistas de JS en niveles avanzados. Siendo sincero este concepto es muy simple, incluso si no lo conoces, solo necesitas un par de minutos para que alguien […]