JavaScript – Tutorial completo

Lleva tus habilidades al siguiente nivel con este curso de JavaScript. Aprende a programar la interactividad y lógica de sitios web modernos.

🚀 Antes de programar con JS

Para un aprendizaje óptimo, te recomendamos dominar primero nuestras guías de:

¿Ya conoces las bases? Comienza el tutorial de JS aquí abajo:

GUÍA JAVASCRIPT

Fundamentos

1. Introducción a JavaScript

JavaScript es uno de los pilares fundamentales del desarrollo web, junto con HTML y CSS. Permite crear páginas interactivas, dinámicas y con comportamientos avanzados del lado del cliente.

¿Qué es JavaScript, para qué sirve y cómo funciona?

2. Incluir JavaScript al documento HTML

Existen distintas formas de agregar JavaScript a un documento HTML, ya sea mediante scripts internos, archivos externos o código inline, siguiendo buenas prácticas de rendimiento y mantenimiento.

¿Cómo insertar JavaScript al documento HTML?

3. console.log()

console.log() es una herramienta fundamental para depurar código. Te ayudará a comprender mejor los siguientes puntos y ejemplos de esta guía para aprender a usar JavaScript mostrando información en la consola del navegador.

¿Para qué sirve console.log? Ejemplos

4. Variables en JavaScript

Las variables en JavaScript son contenedores que permiten almacenar datos para ser utilizados y manipulados a lo largo del programa. Son fundamentales para guardar información, realizar cálculos y controlar el flujo de la aplicación.

5. Comprobación de tipos con typeof

El operador typeof permite conocer el tipo de dato de una variable o valor en JavaScript. Es una herramienta clave para depuración, validaciones y control del flujo del programa.

¿Qué es typeof y cómo funciona?

6. Shadowing en variables

El shadowing ocurre cuando una variable declarada en un ámbito interno tiene el mismo nombre que otra variable en un ámbito externo, “ocultando” temporalmente su valor.

¿Qué es Shadowing y cómo evitarlo?

7. Tipos de datos en JavaScript

Los tipos de datos definen la naturaleza de los valores que puede manejar JavaScript, como números, cadenas de texto, valores booleanos, null y undefined. Comprenderlos es esencial para escribir código correcto y predecible.

¿Cuáles son los tipos de datos?

8. Operadores en la programación

Los operadores en programación permiten realizar cálculos, asignaciones, comparaciones y operaciones lógicas, siendo fundamentales para controlar el comportamiento de los programas.

¿Qué son los operadores en la programación?

9. Tipos de Operadores en JavaScript

Los operadores en JavaScript permiten realizar cálculos, comparaciones, asignaciones y evaluaciones lógicas. Son fundamentales para manipular datos y controlar el flujo de ejecución de un programa.

10. Modo estricto en JavaScript

Al activar el modo estricto ("use strict"), se aplican reglas y restricciones más rigurosas en el código con el objetivo de ayudarte a escribir JavaScript más limpio, seguro y menos propenso a errores comunes.

¿Qué es modo estricto y cómo usarlo?

Estructuras de control

11. Condicional if…else

La estructura condicional if…else permite ejecutar distintos bloques de código según se cumpla o no una condición, siendo una de las bases del control de flujo en JavaScript.

Condicional if…else

12. Condicional switch

La estructura switch se utiliza para evaluar una expresión y ejecutar distintos bloques de código según los valores posibles, ofreciendo una alternativa clara al uso de múltiples if.

Condicional switch

13. Bucle for

El bucle for permite repetir un bloque de código un número determinado de veces, siendo ideal cuando se conoce de antemano la cantidad de iteraciones.

Bucle for

14. Bucle while

El bucle while ejecuta un bloque de código mientras una condición sea verdadera, siendo útil cuando no se conoce previamente el número de repeticiones.

Bucle while

15. Bucle do…while

El bucle do…while es similar al while, pero garantiza que el bloque de código se ejecute al menos una vez antes de evaluar la condición.

Bucle do…while

Arrays en JavaScript

16. Arrays en JavaScript

Un array en JavaScript es una estructura de datos que permite almacenar múltiples valores en una sola variable, facilitando la organización y manipulación de colecciones de datos.

¿Qué es un Arrays y para qué sirve?

17. Creación o declaración de arrays

Los arrays pueden declararse de distintas formas en JavaScript, ya sea utilizando corchetes o el constructor Array, dependiendo del contexto y la claridad del código.

Declaración de arrays

18. Acceso a elementos de un array

Acceder a los elementos de un array permite obtener o modificar valores específicos utilizando índices numéricos que comienzan desde la posición cero.

¿Cómo acceder a los elementos de un array en JS?

19. Métodos de los arrays

Los métodos de los arrays permiten manipular, recorrer y transformar datos de forma eficiente, utilizando funciones integradas como push, pop, map y filter.

¿Cuáles son métodos de los arrays?

20. Longitud de un array

La propiedad length permite conocer la cantidad de elementos que contiene un array en JavaScript, siendo fundamental para recorrerlo y manipular sus datos correctamente.

Array length en JS: ¿Para qué sirve?

21. Recorrer un array

Recorrer un array consiste en iterar sobre cada uno de sus elementos para leerlos, modificarlos o realizar operaciones, utilizando bucles como for, while o métodos específicos.

¿Cómo recorrer un array? Ejemplos

22. Agregar y quitar elementos de un array

JavaScript ofrece métodos como push, pop, shift y unshift para agregar o quitar elementos de un array de forma dinámica.

¿Cómo quitar y agregar elementos en array?

23. Vaciar un array

Vaciar un array significa eliminar todos sus elementos, lo cual puede lograrse de distintas formas dependiendo del contexto y del manejo de referencias en memoria.

¿Cómo vaciar un array? Ejemplos

24. Ordenar un array

El método sort() permite ordenar los elementos de un array, ya sea alfabéticamente o numéricamente, teniendo en cuenta el criterio de comparación utilizado.

El método sort(): ordenando un array en JavaScript

25. Invertir un array

Invertir un array consiste en cambiar el orden de sus elementos, colocando el último como primero y viceversa. Esto puede lograrse fácilmente con métodos nativos de JavaScript.

¿Cómo invertir un array? Método reverse y más

26. Iterar un array

Iterar un array implica recorrer sus elementos uno por uno utilizando distintos métodos como forEach, map, for...of o bucles tradicionales.

¿Cómo iterar un array? Formas y ejemplos

27. Buscar elementos en un array

JavaScript ofrece distintos métodos para buscar elementos dentro de un array, como indexOf, includes y find, facilitando la localización de datos específicos.

¿Cómo buscar elementos en un array? Ejemplos

28. Arrays multidimensionales en JavaScript

Los arrays multidimensionales permiten almacenar estructuras de datos más complejas, como matrices o tablas, utilizando arrays dentro de otros arrays.

¿Que son estos Arrays multidimensionales?

29. Desestructuración de arrays

La desestructuración de arrays permite extraer valores de un array y asignarlos a variables de forma rápida y clara, mejorando la legibilidad del código.

¿Qué es la desestructuración de arrays?

Objetos en JavaScript.

30. ¿Para qué sirven los objetos en JS?

Los objetos en JavaScript permiten agrupar datos relacionados y comportamientos dentro de una misma estructura, representando entidades del mundo real de forma clara y organizada.

Objetos en JS

31. Crear objetos en JavaScript

Crear objetos es una de las bases del lenguaje. Pueden definirse usando notación literal, constructores o funciones, permitiendo estructurar datos de múltiples maneras.

¿Cómo crear objetos en JS?

32. La palabra clave this en objetos

La palabra clave this hace referencia al objeto actual desde el cual se está ejecutando un método, permitiendo acceder a sus propiedades y métodos internos.

This en JavaScript: ¿Qué es y cómo funciona?

33. Operador spread (…)

El operador spread permite copiar, combinar o expandir objetos de forma sencilla, evitando mutaciones y facilitando el trabajo con estructuras de datos complejas.

¿Qué es este operador spread?

34. Comparar objetos en JavaScript

Comparar objetos en JavaScript no es tan directo como comparar valores primitivos, ya que los objetos se comparan por referencia y no por su contenido.

¿Cómo comparar objetos en JS? Ejemplos

35. Desestructuración de objetos

La desestructuración de objetos permite extraer propiedades en variables independientes de forma rápida, clara y muy utilizada en código moderno.

¿Qué es la desestructuración de objetos?

36. Objetos como parámetros

Pasar objetos como parámetros permite enviar múltiples valores a una función de forma ordenada y flexible, mejorando la legibilidad del código.

¿Cómo pasar objetos como parámetros en JavaScript?

38. Set y Map: estructuras de datos modernas

Set y Map son estructuras modernas que permiten almacenar datos únicos o pares clave-valor de forma más eficiente que los objetos tradicionales.

¿Qué son Set y Map en JS?

Funciones declaradas en JavaScript

39. Funciones en JavaScript

Las funciones son bloques de código reutilizables que realizan una tarea específica en JavaScript. Permiten organizar y estructurar mejor los programas al encapsular lógica que puede ejecutarse varias veces.

¿Qué son las funciones en JavaScript?

40. Parámetros en funciones

Los parámetros permiten que las funciones reciban valores de entrada, haciendo que el código sea más flexible, reutilizable y dinámico.

Parámetros en funciones JavaScript: ¿Qué son?

41. Parámetros REST

Los parámetros REST permiten agrupar múltiples argumentos en un solo parámetro, facilitando el manejo de funciones con una cantidad variable de datos.

Parámetros REST en JavaScript

42. El objeto arguments

El objeto arguments permite acceder a todos los valores pasados a una función, incluso cuando no se han definido parámetros explícitos.

El objeto arguments en JavaScript

43. Retorno de valores

El retorno de valores permite que una función devuelva un resultado luego de ejecutarse, posibilitando reutilizar ese valor en otras partes del programa.

Retorno de valores en funciones con JS

44. Alcance o Scope

El alcance o scope determina desde dónde pueden ser accedidas las variables y funciones dentro del código, evitando conflictos y errores inesperados.

Alcance de una función en JavaScript

45. Currying

El currying es una técnica funcional que transforma una función con múltiples argumentos en una serie de funciones que reciben un argumento a la vez.

Currying en JavaScript

46. Closures

Los closures permiten que una función recuerde y acceda a variables de su entorno aun después de que la función externa haya terminado su ejecución.

Closures en JavaScript

Tipos de funciones

47. Funciones expresadas

Las funciones expresadas se asignan a una variable, permitiendo mayor control sobre el flujo del código y facilitando su uso como valores dentro de JavaScript.

Guía sobre funciones expresadas

48. Funciones flecha (Arrow Functions)

Las funciones flecha ofrecen una sintaxis más corta y clara, además de un comportamiento especial del contexto this, ideal para funciones simples y callbacks.

Guía sobre funciones flecha en JavaScript

50. Funciones anónimas

Las funciones anónimas no tienen nombre y suelen utilizarse como funciones temporales, especialmente en eventos y callbacks.

Guía sobre funciones anónimas en JavaScript

51. Funciones de primera clase

En JavaScript, las funciones son de primera clase, lo que significa que pueden asignarse a variables, pasarse como argumentos y retornarse desde otras funciones.

Guía sobre funciones son de primera clase en JS

52. Funciones de orden superior

Las funciones de orden superior son aquellas que pueden recibir otras funciones como argumentos o devolverlas como resultado, permitiendo un estilo de programación más flexible y expresivo.

Guía sobre funciones de orden superior en JS

53. Funciones recursivas

La recursividad permite que una función se llame a sí misma para resolver problemas complejos dividiéndolos en casos más simples, siempre controlando una condición de salida.

Recursividad en JavaScript: ¿Cómo entenderla?

54. Funciones generadoras

Las funciones generadoras permiten pausar y reanudar la ejecución de una función, produciendo valores de forma controlada mediante la palabra clave yield.

Guía sobre funciones generadoras en JS

55. Funciones autoejecutables (IIFE)

Las funciones autoejecutables se definen y ejecutan inmediatamente, ayudando a evitar la contaminación del scope global y a organizar mejor el código.

Guía sobre función autoejecutable en JS

Programación estructurada y modular – Manejo de errores.

56. Módulos en JavaScript (export / import)

Los módulos permiten dividir el código JavaScript en archivos independientes, facilitando la reutilización, el mantenimiento y una mejor organización de proyectos modernos.

Guía completa sobre los módulos export e import

57. Expresiones regulares (RegExp)

Las expresiones regulares son patrones que permiten buscar, validar y manipular texto de forma avanzada dentro de cadenas en JavaScript.

Expresiones regulares (RegExp) en JS

58. Temporizadores en JavaScript

Los temporizadores permiten ejecutar código después de un determinado tiempo o de forma repetitiva, utilizando setTimeout() y setInterval().

Temporizadores en JavaScript: setTimeout() y setInterval()

59. Manejo de errores

El manejo de errores permite controlar fallos en la ejecución del código mediante estructuras como try, catch y finally.

Manejo de errores con try, catch, finally y más

60. El objeto Math

El objeto Math proporciona propiedades y métodos matemáticos para realizar cálculos comunes como redondeos, potencias, raíces y números aleatorios.

El objeto Math en JavaScript

61. El objeto Date

El objeto Date permite trabajar con fechas y horas en JavaScript, obteniendo información como día, mes, año, hora actual y más.

El objeto Date en JavaScript

Manipulación del DOM (Document Object Model)

62. ¿Qué es el DOM?

El DOM (Document Object Model) es una representación estructurada del documento HTML que permite a JavaScript acceder, modificar y manipular dinámicamente el contenido de una página web.

¿Qué es el DOM y para que sirve?

63. Acceder al DOM

Acceder al DOM consiste en seleccionar elementos HTML desde JavaScript utilizando distintos métodos como selectores por ID, clase, etiqueta o selectores CSS.

¿Cómo acceder al DOM con JS? Ejemplos

64. Recorrer el DOM (DOM Traversal)

El recorrido del DOM permite navegar entre nodos padres, hijos y hermanos, facilitando la manipulación de estructuras complejas dentro del documento.

¿Cómo recorrer el DOM con JS?

65. Modificar contenido del DOM

JavaScript permite modificar el contenido de los elementos HTML utilizando propiedades como textContent, innerText e innerHTML.

Modificar contenido del DOM con JS

66. Modificar atributos del DOM

Los atributos y propiedades del DOM permiten cambiar dinámicamente valores como src, href, id y otros comportamientos de los elementos HTML.

Atributos y propiedades en el DOM

67. Clases y estilos en el DOM

JavaScript permite modificar clases y estilos CSS de los elementos para cambiar su apariencia visual y comportamiento dinámicamente.

Modificar estilos y clases en el DOM con JS

68. Crear y eliminar nodos del DOM

Crear y eliminar nodos permite agregar o quitar elementos HTML dinámicamente, construyendo interfaces más interactivas y flexibles.

Crear y eliminar nodos en el DOM con JS

Eventos en el DOM

69. Eventos en el DOM

Los eventos en el DOM permiten detectar e interpretar las acciones del usuario o del navegador, como clics, teclas, movimientos del mouse y cargas de página.

¿Qué es un evento en el DOM?

70. addEventListener()

addEventListener() permite asociar funciones a eventos específicos sin sobrescribir otros manejadores, siguiendo buenas prácticas de JavaScript moderno.

¿Qué es addEventListener() y para qué sirve?

71. Objeto de evento

El objeto de evento contiene información clave sobre el evento ocurrido, como el elemento objetivo, el tipo de evento y propiedades adicionales útiles para su control.

¿Qué es el objeto de evento en JS?

72. Burbujeo y captura de eventos

El burbujeo y la captura describen cómo se propagan los eventos a través del DOM, permitiendo controlar su flujo desde el elemento origen hacia los padres o viceversa.

Burbujeo y captura de eventos en JS

73. Tipos de eventos

JavaScript ofrece múltiples tipos de eventos como eventos de mouse, teclado, formularios, ventana y táctiles, fundamentales para crear interfaces interactivas.

Tipos de eventos en JS

74. Eventos de carga de página

Los eventos de carga permiten ejecutar código en momentos clave del ciclo de vida de la página, destacándose DOMContentLoaded y load.

DOMContentLoaded vs load: eventos de carga

75. Delegación de eventos (Event Delegation)

La delegación de eventos es una técnica que permite manejar múltiples eventos utilizando un solo listener en un elemento padre, aprovechando el mecanismo de burbujeo del DOM para mejorar el rendimiento y la escalabilidad del código.

Delegación de eventos en JS

76. event.preventDefault()

event.preventDefault() es un método que se utiliza para cancelar el comportamiento por defecto que el navegador ejecuta ante determinados eventos, como el envío de un formulario o la navegación de un enlace.

event.preventDefault() en JavaScript

77. event.stopPropagation()

event.stopPropagation() es un método que detiene la propagación del evento a través del DOM, evitando que el evento continúe burbujeando hacia elementos padres.

event.stopPropagation() en JavaScript

78. Manejo de formularios

El manejo de formularios en JavaScript permite capturar, validar y procesar los datos ingresados por el usuario antes de enviarlos, mejorando la experiencia de uso y evitando recargas innecesarias de la página.

Cómo manejar formularios con JavaScript

Prototipos

79. ¿Qué es el prototipo en JavaScript?

El prototipo en JavaScript es el mecanismo que permite que los objetos hereden propiedades y métodos entre sí, formando la base del sistema de herencia del lenguaje y optimizando el uso de memoria.

Prototipo en JavaScript: ¿Qué es y para qué sirve?

80. Cadena de prototipos

La cadena de prototipos es el proceso mediante el cual JavaScript busca propiedades y métodos en un objeto y, si no los encuentra, continúa la búsqueda en sus prototipos superiores.

Cadena de prototipos en JavaScript

81. Herencia prototípica

La herencia prototípica es el mecanismo mediante el cual los objetos en JavaScript pueden heredar propiedades y métodos de otros objetos a través del sistema de prototipos, permitiendo reutilización de código y estructuras más eficientes.

Herencia prototípica en JavaScript

82. Prototipos nativos

Los prototipos nativos en JavaScript son los objetos base que forman parte del propio lenguaje, como Object, Array o Function. A través de sus propiedades prototype, permiten compartir métodos entre instancias y constituyen la base del sistema de herencia prototípica.

Clases

83. ¿Qué es una clase

Las clases en JavaScript son una forma moderna de crear objetos y estructurar código utilizando una sintaxis más clara basada en la programación orientada a objetos. Permiten definir propiedades, métodos y facilitar la reutilización del código.

¿Qué es una clase?

84. Declaración de clases

La declaración de clases es la forma más común de definir una clase en JavaScript. Permite crear plantillas para generar objetos con propiedades y métodos, utilizando una sintaxis clara que forma parte de la programación orientada a objetos moderna.

Cómo crear una clase en JavaScript

85. Propiedades de clase

Las propiedades de clase permiten definir datos asociados a una clase o a sus instancias. En JavaScript pueden ser públicas, privadas o estáticas, lo que ayuda a organizar mejor la información y controlar el acceso a los datos dentro de una estructura orientada a objetos.

Propiedades de clase en, públicas, privadas y estáticas

86. Herencia entre clases

La herencia entre clases permite que una clase herede propiedades y métodos de otra. En JavaScript esto se logra utilizando la palabra clave extends y el método super(), facilitando la reutilización del código y la creación de jerarquías de objetos.

Herencia entre clases y el uso de extends y super().

87. Operador instanceof

El operador instanceof permite comprobar si un objeto es instancia de una función constructora o clase determinada, verificando su relación dentro de la cadena de prototipos.

Operador instanceof en JavaScript

88. Mixin en JavaScript

Los mixins son una técnica que permite reutilizar funcionalidades en múltiples clases u objetos sin necesidad de utilizar herencia directa, promoviendo un diseño más flexible y modular.

Mixin en JavaScript: qué es y cómo usarlo

Asincronía en JavaScript

89. Funciones Callback

Las funciones callback se pasan como argumentos a otras funciones y se ejecutan posteriormente, siendo fundamentales en la programación asincrónica.

Guía sobre funciones Callback en JavaScript

90. Promesas

Las promesas en JavaScript son objetos que representan la eventual finalización (o falla) de una operación asíncrona y su valor resultante. Permiten manejar código asíncrono de forma más clara y estructurada que los callbacks tradicionales.

Promesas en JavaScript: ¿Qué son y cómo funcionan?

91. Encadenamiento de promesas

El encadenamiento de promesas permite ejecutar múltiples operaciones asíncronas de forma secuencial utilizando .then(), evitando el uso excesivo de callbacks y mejorando la legibilidad del código.

Encadenamiento de promesas en JavaScript

92. Métodos estáticos de promesas

Los métodos estáticos de Promise como all(), race(), allSettled() y any() permiten manejar múltiples promesas en paralelo y controlar su comportamiento según diferentes escenarios.

Métodos estáticos de promesas en JavaScript

93. Async/await

async/await es una forma moderna de trabajar con código asíncrono en JavaScript, permitiendo escribir promesas con una sintaxis más clara y similar al código síncrono, mejorando la legibilidad y el manejo de errores.

Async/await en JavaScript: ¿Cómo funciona?

94. Event Loop, microtasks y macrotasks

El Event Loop es el mecanismo que permite a JavaScript gestionar la ejecución de tareas asíncronas. Las microtasks (como promesas) tienen prioridad sobre las macrotasks (como setTimeout), lo que influye directamente en el orden de ejecución del código.

Event Loop, microtasks y macrotasks en JavaScript

95. Web APIs

Las Web APIs son interfaces proporcionadas por el navegador que permiten a JavaScript interactuar con funcionalidades externas como el DOM, eventos, almacenamiento, temporizadores y peticiones HTTP, ampliando las capacidades del lenguaje más allá de su núcleo.

Web APIs en JavaScript: ¿Qué son y cómo funcionan?

96. El modelo cliente – servidor

El modelo cliente-servidor es una arquitectura de comunicación donde un cliente realiza solicitudes y un servidor responde proporcionando datos, recursos o servicios. Es la base del funcionamiento de aplicaciones web, sitios de internet y sistemas distribuidos modernos.

El modelo cliente – servidor: ¿Qué es y cómo funciona?

97. Peticiones HTTP

Las peticiones HTTP son solicitudes que un cliente envía a un servidor para obtener, enviar o modificar información. Utilizan métodos como GET, POST, PUT y DELETE, siendo fundamentales para la comunicación entre navegadores, servidores y APIs web.

Peticiones HTTP: ¿Qué son y cómo funcionan?

98. API REST

Una API REST es una interfaz que permite la comunicación entre sistemas mediante el protocolo HTTP, utilizando recursos y métodos como GET, POST, PUT y DELETE. Es uno de los estilos más utilizados para crear servicios web modernos, escalables y fáciles de integrar.

API REST: ¿Qué es y cómo funciona?

99. Manejo de JSON

JSON es un formato de intercambio de datos basado en texto que permite convertir objetos JavaScript en cadenas y viceversa usando JSON.stringify() y JSON.parse().

¿Qué es JSON? JavaScript Object Notation

100. XMLHttpRequest

XMLHttpRequest es un objeto tradicional que permite realizar peticiones HTTP al servidor. Aunque hoy en día ha sido reemplazado en gran medida por Fetch, sigue siendo importante para entender la evolución de las solicitudes asíncronas en JavaScript.

XMLHttpRequest en JavaScript: Guía completa

101. Fetch() API

Fetch() es una función moderna de JavaScript que permite realizar peticiones HTTP de forma asíncrona, facilitando la comunicación con servidores para obtener o enviar datos, como APIs REST, reemplazando en gran medida a XMLHttpRequest.

Fetch() en JavaScript: ¿Qué es y cómo usarlo paso a paso?

102. Fetch API con Async/Await

La Fetch API junto con Async/Await permite escribir código asíncrono de forma más clara y legible, eliminando la necesidad de encadenar promesas con .then() y facilitando el manejo de respuestas y errores mediante estructuras como try…catch.

Fetch API en JavaScript con Async/Await: Guía completa

103. Enviar datos con Fetch API

La Fetch API permite enviar datos desde JavaScript al servidor mediante solicitudes HTTP como POST, PUT o PATCH. Es una herramienta moderna, basada en promesas, que facilita la comunicación con APIs y el envío de formularios sin recargar la página.

Enviar datos con Fetch API en JavaScript: Guía completa

104. FormData

FormData es una interfaz que permite construir fácilmente conjuntos de datos clave-valor para enviarlos al servidor, especialmente útil en el envío de formularios, incluyendo archivos, sin necesidad de procesarlos manualmente.

FormData en JavaScript: ¿Qué es y cómo usarlo?

105. LocalStorage y sessionStorage

La Web Storage API proporciona mecanismos para almacenar datos en el navegador mediante localStorage y sessionStorage. Permite guardar información de forma sencilla, ya sea de manera persistente o temporal, mejorando la experiencia del usuario sin necesidad de recurrir al servidor.

Web Storage API: localStorage y sessionStorage en JavaScript

106. Cookies

Las cookies en JavaScript permiten almacenar pequeños fragmentos de información en el navegador del usuario. Son utilizadas para gestionar sesiones, recordar preferencias y realizar seguimiento, aunque tienen limitaciones de tamaño y seguridad frente a otras alternativas modernas.

Cookies en JavaScript: ¿Qué son y cómo funcionan?

Git y GitHub (PROFESIONAL)

Ya has adquirido las bases sólidas de JavaScript hasta aquí. Ahora, para potenciar tu perfil y trabajar como un verdadero profesional, el siguiente paso natural es dominar el control de versiones.

Git y GitHub serán tus mejores aliados para organizar tu código, colaborar en equipo y mostrar tus proyectos al mundo. Te recomiendo continuar tu formación ahora mismo con el curso especializado que dicto en nuestra plataforma externa.

Haz clic en el siguiente enlace para comenzar:

Ver Curso de Git y GitHub

HTTP y APIs (BASE WEB)

Fundamental antes de React y backend.

  • Cliente / servidor
  • Qué es HTTP
  • Métodos (GET, POST, PUT, DELETE)
  • Status codes
  • Qué es una API
  • REST (conceptual)
  • Consumo de APIs públicas
  • Manejo de errores

Framework Frontend (React)

Recién ahora React tiene sentido.

  • Qué es React
  • Componentes
  • JSX
  • Props
  • Estado
  • Hooks:
    • useState
    • useEffect
  • Eventos en React
  • Formularios
  • Render condicional
  • Consumo de APIs
  • Manejo básico de estados de carga

📌 React es JS + estructura.

Backend básico (Node + Express)

Ahora entendés todo el flujo.

  • Qué es Node.js
  • Qué es Express
  • Crear un servidor
  • Rutas
  • Middleware
  • Request / Response
  • Variables de entorno
  • CRUD con API REST
  • Manejo básico de errores

📌 No hace falta experto.

Bases de datos

Conectar datos reales.

  • Qué es una DB
  • SQL vs NoSQL
  • CRUD
  • Tablas / colecciones
  • Relaciones básicas
  • Consultas simples

Ejemplos:

  • PostgreSQL / MySQL
  • MongoDB

Autenticación básica

Muy valorado en CV junior.

  • Registro
  • Login
  • Hash de contraseñas
  • JWT o sesiones
  • Protección de rutas

Resolución de problemas (CONTINUA)

Esto no termina nunca.

  • Debugging
  • Leer errores
  • Console.log con criterio
  • Buscar en MDN
  • Refactorizar
  • Pensar en pasos

📌 Esto define tu valor real.

Proyectos reales (PARALELO)

Mientras aprendés todo:

  • 2–3 proyectos propios
  • Nada copiado
  • Frontend + backend
  • DB
  • Autenticación
  • Deploy
  • README claros

📌 Esto es tu CV.

Deploy y entorno real

Mostrar lo que hiciste.

  • Deploy frontend (Netlify / Vercel)
  • Deploy backend (Render / Railway)
  • Variables de entorno
  • Producción vs desarrollo