Iniciación a JavaScript
Este tutorial está dirigido a aquellas personas que quieran aprender Javascript, incluso si no tienen conocimientos previos de programación.
¿Qué es JavaScript y para qué se utiliza?
Introducción ¿Has navegado por Internet hoy? Si estás leyendo esto, seguramente la respuesta es ...
Historia y evolución del lenguaje JavaScript
Introducción JavaScript nació en un momento crucial de la historia de internet, cuando los sitio...
Cómo ejecutar código JavaScript
Introducción Una de las grandes ventajas de JavaScript es su accesibilidad: para empezar a progr...
Herramientas básicas para desarrollo en JavaScript
Introducción Para programar eficientemente en JavaScript no basta solo con conocer el lenguaje; ...
Estructura de un programa JavaScript
Introducción Cuando nos adentramos en el mundo de la programación con JavaScript, es fundamental...
Comentarios en el código JavaScript
Introducción El código que escribimos no solo debe ser entendido por los ordenadores, sino tambi...
Punto y coma y buenas prácticas de escritura en JavaScript
Introducción La programación no consiste solamente en escribir código que funcione; también se t...
Sensibilidad a mayúsculas y minúsculas en JavaScript
Introducción Una característica fundamental de JavaScript que puede pasar desapercibida para los...
Declaración de variables en JavaScript
Introducción Las variables son uno de los conceptos fundamentales en cualquier lenguaje de progr...
Tipos primitivos en JavaScript
Introducción En el núcleo de cualquier lenguaje de programación se encuentra su sistema de tipos...
Tipos undefined y null
Introducción En nuestro viaje por JavaScript, ya hemos explorado varios tipos primitivos fundame...
Conversión entre tipos
Introducción En JavaScript, la conversión entre tipos de datos es una operación muy común y fund...
Operadores aritméticos
Introducción Los operadores aritméticos son fundamentales en cualquier lenguaje de programación,...
Operadores de asignación
Introducción Los operadores de asignación son herramientas fundamentales en JavaScript que nos p...
Operadores de comparación
Introducción Los operadores de comparación son herramientas fundamentales en JavaScript que nos ...
Operadores lógicos
Introducción Los operadores lógicos son componentes fundamentales en la programación que nos per...
Precedencia de operadores
Introducción Cuando escribimos expresiones en JavaScript que contienen múltiples operadores, es ...
Sentencia if/else
Introducción La programación no sería muy útil si nuestros programas ejecutaran siempre las mism...
Operador ternario
Introducción El operador ternario es una forma concisa de escribir expresiones condicionales en ...
Switch case
Introducción La estructura switch es una alternativa a múltiples declaraciones if/else cuando ne...
Bucle while y do-while
Introducción Los bucles son estructuras fundamentales en programación que nos permiten ejecutar ...
Bucle for
Introducción El bucle for es una de las estructuras de control más utilizadas en JavaScript y en...
Break y continue
Introducción Cuando trabajamos con bucles en JavaScript, a menudo necesitamos un mayor control s...
Bucles anidados
Introducción Los bucles anidados son una técnica de programación fundamental que consiste en col...
Declaración y expresión de funciones
Introducción Las funciones son uno de los conceptos fundamentales en JavaScript. Nos permiten ag...
Parámetros y argumentos
Introducción Una de las características más poderosas de las funciones en JavaScript es su capac...
Return y valores devueltos
Introducción En el artículo anterior exploramos cómo las funciones pueden recibir información a ...
Invocación de funciones
Introducción Hasta ahora hemos aprendido a definir funciones, trabajar con parámetros y devolver...
Ámbito global y local
Introducción El ámbito (o scope en inglés) es uno de los conceptos fundamentales en JavaScript, ...
Hoisting
Introducción Cuando escribimos código JavaScript, normalmente esperamos que se ejecute línea por...
Clausuras (closures)
Introducción Las clausuras (o closures en inglés) son uno de los conceptos más poderosos y a la ...
Funciones anidadas
Introducción Las funciones anidadas son un concepto poderoso en JavaScript que permite definir f...
Funciones flecha
Introducción Las funciones flecha (arrow functions) representan una de las características más i...
Funciones de orden superior
Introducción Las funciones de orden superior (higher-order functions) son uno de los conceptos f...
Callbacks
Introducción Los callbacks son uno de los mecanismos fundamentales para manejar operaciones asín...
Funciones inmediatamente invocadas (IIFE)
Introducción Las Funciones Inmediatamente Invocadas (IIFE, del inglés Immediately Invoked Functi...
Creación y acceso a elementos de arrays
Introducción Los arrays son una de las estructuras de datos más fundamentales y versátiles en Ja...
Métodos principales de arrays
Introducción Los arrays en JavaScript no son simples contenedores de datos; están equipados con ...
Iteración sobre arrays
Introducción La iteración es una de las operaciones más frecuentes que realizamos con arrays: re...
Arrays multidimensionales
Introducción Hasta ahora, hemos trabajado con arrays que contienen elementos simples como número...
Creación de objetos
Introducción Los objetos son uno de los conceptos fundamentales de JavaScript y representan una ...
Propiedades y métodos de objetos
Introducción En el artículo anterior exploramos las diferentes formas de crear objetos en JavaSc...
Acceso a propiedades de objetos
Introducción Los objetos en JavaScript son colecciones de propiedades, y saber cómo acceder a es...
This en objetos
Introducción La palabra clave this es uno de los conceptos más importantes y, a la vez, más conf...
Object.keys, values y entries
Introducción Los objetos son estructuras fundamentales en JavaScript que nos permiten almacenar ...
Desestructuración de objetos y arrays
Introducción La desestructuración es una característica introducida en ES6 (ECMAScript 2015) que...
Spread operator
Introducción El operador spread (o de propagación), representado por tres puntos suspensivos (.....
JSON: stringify y parse
Introducción JavaScript Object Notation, conocido como JSON, es un formato de intercambio de dat...
¿Qué es la programación asíncrona?
Introducción La programación asíncrona es uno de los conceptos fundamentales para desarrollar ap...
Event loop en JavaScript
Introducción El event loop (bucle de eventos) es uno de los conceptos más fundamentales para ent...
setTimeout y setInterval
Introducción JavaScript nos ofrece la capacidad de ejecutar código de forma programada en moment...
Creación y consumo de promesas
Introducción Las promesas representan un avance significativo en la forma de manejar operaciones...
Estados de las promesas
Introducción Las promesas en JavaScript son objetos que representan el resultado eventual de una...
Encadenamiento de promesas
Introducción Las promesas en JavaScript nos permiten manejar operaciones asíncronas de forma ele...
Manejo de errores con catch
Introducción Cuando trabajamos con promesas en JavaScript, es fundamental saber cómo responder c...
Funciones asíncronas
Introducción Las funciones asíncronas representan una evolución significativa en la forma de esc...
Sintaxis de async/await
Introducción Tras conocer el concepto de funciones asíncronas, es momento de profundizar en la s...
Manejo de errores con try/catch
Introducción El manejo efectivo de errores es una parte fundamental de cualquier aplicación robu...
Patrones comunes con async/await
Intoducción La sintaxis async/await nos ha permitido escribir código asíncrono de forma más legi...
¿Qué es el DOM?
Introducción Cuando navegamos por internet y visitamos páginas web, lo que vemos en pantalla son...
Selección de elementos del DOM
Introducción La manipulación del DOM (Document Object Model) es una de las tareas fundamentales ...
Modificación de contenido y atributos
Introducción Una vez que hemos aprendido a seleccionar elementos del DOM, el siguiente paso natu...
Creación y eliminación de elementos
Introducción Hasta ahora hemos aprendido a seleccionar elementos del DOM y modificar su contenid...
Tipos de eventos
Introducción Los eventos son una parte fundamental de JavaScript y constituyen la base de la int...
Añadir y quitar event listeners
Introducción En el artículo anterior exploramos los diferentes tipos de eventos que podemos mane...
Event bubbling y capturing
Introducción En los artículos anteriores hemos aprendido sobre los diferentes tipos de eventos e...
Prevención de comportamiento por defecto
Introducción Cuando interactuamos con elementos HTML, como enlaces o formularios, el navegador e...
LocalStorage y SessionStorage
Introducción El almacenamiento web es una de las características más útiles y prácticas que los ...
Cookies
Introducción Las cookies son pequeños fragmentos de datos que los sitios web almacenan en el nav...
IndexedDB básico
Introducción a bases de datos en el navegador En aplicaciones web modernas, a menudo necesitamos...
Fetch API
Introducción a la API Fetch La comunicación con servidores es una parte fundamental de las aplic...
Métodos HTTP
Introducción Cuando trabajamos con aplicaciones web, la comunicación entre el navegador y el ser...
Consumo de APIs externas
Introducción En la actualidad, las aplicaciones web rara vez funcionan de forma aislada. La mayo...
Gestión de respuestas y errores
Introducción Cuando trabajamos con APIs externas, no basta con saber cómo enviar peticiones; es ...
Importación y exportación de módulos
Introducción La programación moderna con JavaScript se basa en gran medida en la modularidad, un...
Módulos ES6
Introducción Los módulos ES6 representan una de las características más importantes introducidas...
Módulos CommonJS (Node.js)
Introducción Node.js revolucionó el desarrollo en JavaScript al llevar el lenguaje fuera del nav...
Bundlers
Introducción En el desarrollo web moderno, escribir código JavaScript eficiente implica dividirl...