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 […]
Aprende que es Shadowing en Javascript en 10 minutos
Shadowing es un concepto que es imposible de evitar. Incluso si no conoces el término es 99.999% seguro que lo hayas implementado alguna vez en tu código. Si lo traduces al español te queda algo como “sombrear” o “ensombrecer”. Pero probablemente sea mejor entenderlo como “ocultar”. En términos técnicos se refiere al hecho de hacer […]
2 ejemplos para entender la diferencia entre var y let
Hay un sinfín de artículos relacionados a las diferencias entre let, const y var . Sin embargo cuando se habla de var normalmente la conclusión es dejar de utilizarlo. La verdad no vengo a desmentir eso, ni a sugerir una forma nueva de hacer las cosas. Pero lo interesante no es si se abandona o […]
Las 3 partes en las que se divide el Lexical Scope de Javascript
Lexical scope es un concepto algo intimidante la primera vez que lo escuchas. Traducido del inglés sería algo como “Alcance léxico” y no se tú pero a mi ese nombrecito por si solo no me dice gran cosa. Recuerdo que para mi fue de esos conceptos que tuve que hacer un esfuerzo consciente para poder […]