JavaScript
Tutorial JavaScript: Introducción a JavaScript
JavaScript introducción: conceptos básicos. Aprende los conceptos básicos y da tus primeros pasos en JavaScript con ejemplos prácticos y detallados.
Aprende JavaScript y certifícateIntroducción e historia de JavaScript
JavaScript es un lenguaje de programación interpretado de alto nivel, dinámico y orientado a objetos, ampliamente utilizado para desarrollar aplicaciones web interactivas. Fue creado en 1995 por Brendan Eich mientras trabajaba en Netscape Communications.
Originalmente denominado Mocha y posteriormente LiveScript, el lenguaje fue finalmente rebautizado como JavaScript para aprovechar la popularidad de Java en ese momento. A pesar de la similitud en el nombre, JavaScript y Java son lenguajes totalmente independientes con sintaxis y propósitos diferentes.
El objetivo inicial de JavaScript era permitir a los desarrolladores agregar interactividad y dinamismo a las páginas web, facilitando la manipulación del Document Object Model (DOM) para actualizar el contenido de forma dinámica en respuesta a acciones del usuario.
En 1997, Netscape presentó JavaScript a ECMA International para su estandarización, lo que dio origen a ECMAScript. La primera edición de la especificación ECMAScript se publicó en junio de 1997, estableciendo una base formal para el lenguaje y promoviendo su compatibilidad entre diferentes navegadores.
A lo largo de los años, JavaScript ha experimentado una evolución significativa, incorporando numerosas características avanzadas que han ampliado su funcionalidad. Algunos hitos importantes en su desarrollo incluyen:
- ECMAScript 3 (1999): Introdujo mejoras en la manipulación de cadenas, manejo de excepciones y más.
- ECMAScript 5 (2009): Añadió funciones como strict mode, JSON nativo y métodos adicionales para arrays.
- ECMAScript 6 (ES6, 2015): Una de las actualizaciones más importantes, introduciendo clases, promesas,
let
yconst
, funciones flecha, entre otras.
La aparición de Node.js en 2009 marcó un punto de inflexión, permitiendo la ejecución de JavaScript en el lado del servidor. Esto amplió enormemente las posibilidades del lenguaje, posibilitando el desarrollo de aplicaciones completas utilizando JavaScript en ambos extremos, servidor y cliente.
En la actualidad, JavaScript es fundamental en el desarrollo de aplicaciones web modernas. Frameworks y bibliotecas como React, Angular y Vue.js han revolucionado la creación de interfaces de usuario, facilitando el desarrollo de aplicaciones de una sola página (SPA, por sus siglas en inglés) y ofreciendo una experiencia de usuario más fluida.
La comunidad de JavaScript es dinámica y en constante crecimiento. La continua evolución del lenguaje, impulsada por las actualizaciones periódicas de ECMAScript, refleja su capacidad de adaptación a las necesidades cambiantes de la industria tecnológica. Su versatilidad lo ha llevado más allá del navegador, siendo utilizado en desarrollo móvil con React Native, aplicaciones de escritorio con Electron y en el Internet de las Cosas (IoT).
A lo largo de su historia, JavaScript ha recorrido un largo camino desde sus humildes comienzos como lenguaje de scripting para navegadores. Su impacto en el desarrollo web y su omnipresencia en múltiples plataformas lo convierten en una herramienta esencial para cualquier desarrollador en el entorno tecnológico actual.
Versiones de JavaScript
JavaScript, estandarizado como ECMAScript, ha evolucionado significativamente desde su creación, introduciendo nuevas características y mejoras con cada versión. Estas actualizaciones han permitido que el lenguaje se adapte a las necesidades actuales del desarrollo web moderno, ofreciendo herramientas más robustas y eficientes para los desarrolladores.
A continuación, se presenta un recorrido por las versiones más relevantes de ECMAScript y las innovaciones que cada una ha aportado:
- ECMAScript 3 (ES3, 1999): Esta versión consolidó JavaScript como lenguaje de programación, introduciendo características esenciales como las expresiones regulares, control de excepciones mediante
try...catch
, mejoras en la manipulación de cadenas y arrays, y un mejor manejo de los tipos de datos. - ECMAScript 5 (ES5, 2009): Después de un largo periodo sin actualizaciones significativas, ES5 trajo mejoras importantes como el modo estricto (
'use strict';
), que permite escribir código más seguro evitando malas prácticas. Además, introdujo métodos funcionales para arrays comoforEach()
,map()
,filter()
,reduce()
, y agregó soporte nativo para JSON con los métodosJSON.parse()
yJSON.stringify()
. - ECMAScript 6 (ES6, 2015): También conocida como ES2015, es una de las actualizaciones más significativas en la historia de JavaScript. Entre sus aportes más destacados se encuentran:
- Declaraciones de variables con
**let**
y**const**
: Permiten una mejor gestión de los alcances de variables, evitando problemas asociados al uso devar
. - Funciones flecha (
**()=>**
): Introducen una sintaxis más concisa para definir funciones y manejan el contexto dethis
de manera más intuitiva. - Clases y herencia: Facilitan la programación orientada a objetos con la introducción de la sintaxis de clases,
constructor
, métodos y herencia conextends
ysuper
. - Módulos: Permiten organizar el código en módulos reutilizables utilizando
import
yexport
, mejorando la modularidad y mantenibilidad de las aplicaciones. - Destructuración de objetos y arrays: Facilita la extracción de valores de objetos y arrays con una sintaxis más clara.
- Templates literales: Introducen una forma más sencilla de trabajar con cadenas de texto, permitiendo interpolación y multi-línea mediante el uso de las comillas invertidas (
`
).
- Declaraciones de variables con
- ECMAScript 2016 (ES7): Aunque una actualización menor, añadió el operador de exponenciación (
**
) y el métodoArray.prototype.includes()
, que simplifica la búsqueda de elementos en arrays. - ECMAScript 2017 (ES8): Introdujo las funciones asíncronas con
async
/await
, facilitando el manejo de operaciones asíncronas de manera más legible y estructurada. También agregóObject.entries()
,Object.values()
y el relleno de cadenas conpadStart()
ypadEnd()
. - ECMAScript 2018 (ES9): Incorporó características como el operador rest/spread para objetos
{...obj}
, mejoras en expresiones regulares y el métodoPromise.prototype.finally()
para el manejo más eficiente de promesas. - ECMAScript 2019 (ES10): Introdujo métodos como
Array.prototype.flat()
yArray.prototype.flatMap()
para aplanar arrays anidados,Object.fromEntries()
para transformar listas clave-valor en objetos, y el operadorcatch
opcional sin parámetro, simplificando el manejo de errores. - ECMAScript 2020 (ES11): Esta versión añadió características significativas como:
- BigInt: Un tipo de dato primitivo que permite trabajar con números enteros de gran precisión más allá de los límites de
Number
. - Operador de encadenamiento opcional (
**?.**
): Simplifica el acceso a propiedades anidadas en objetos que pueden sernull
oundefined
. - Operador de coalición nula (
**??**
): Permite asignar un valor por defecto solo si el operando esnull
oundefined
, diferenciándolo de valores falsy como0
o''
. - Dynamic Import (
**import()**
): Hace posible la importación dinámica de módulos, facilitando la carga bajo demanda y el code splitting.
- BigInt: Un tipo de dato primitivo que permite trabajar con números enteros de gran precisión más allá de los límites de
- ECMAScript 2021 (ES12): Destaca por incluir:
- Operadores de asignación lógicos (
**&&=**
,**||=**
,**??=**
): Combinan asignación y operadores lógicos para simplificar ciertas expresiones. - Método
**String.prototype.replaceAll()**
: Permite reemplazar todas las ocurrencias de una subcadena sin necesidad de expresiones regulares. - Separadores numéricos (_): Mejoran la legibilidad de literales numéricos al permitir separar dígitos con guiones bajos, por ejemplo,
1_000_000
.
- Operadores de asignación lógicos (
- ECMAScript 2022 (ES13): Introdujo:
- Campos privados de clase: Con la sintaxis
#campo
, permiten definir propiedades verdaderamente privadas en clases. - Métodos y accesores privados: Proporcionan encapsulación robusta para métodos y accesores dentro de clases.
**Array.prototype.at()**
: Facilita el acceso a elementos de arrays usando índices negativos para contar desde el final.- Top-level
**await**
: Permite usarawait
en el nivel superior de módulos, mejorando la forma de manejar operaciones asíncronas en scripts.
- Campos privados de clase: Con la sintaxis
La constante evolución de JavaScript busca mejorar la eficiencia, la seguridad y la legibilidad del código. Es fundamental que los desarrolladores se mantengan actualizados con las últimas versiones para aprovechar las nuevas características y escribir código más limpio y funcional.
Para trabajar con las nuevas funcionalidades, es importante asegurarse de que el entorno de desarrollo y los navegadores o entornos de ejecución soporten estas versiones. Herramientas como Babel permiten transpilar código moderno a versiones compatibles con navegadores más antiguos, facilitando la adopción gradual de las nuevas características.
Cabe destacar que el Comité Técnico 39 (TC39) es el encargado de la evolución del estándar ECMAScript. Este comité trabaja en propuestas para futuras implementaciones, siguiendo un proceso de varias etapas antes de ser integradas en el estándar oficial. Esto garantiza que las nuevas adiciones al lenguaje sean cuidadosamente consideradas y ampliamente discutidas dentro de la comunidad.
Instalación de Node.js
Para ejecutar JavaScript fuera del navegador y desarrollar aplicaciones del lado del servidor, es necesario instalar Node.js en tu sistema. Node.js es un entorno de ejecución que permite utilizar JavaScript en el servidor, proporcionando acceso al sistema de archivos, redes y otras funcionalidades.
A continuación, se detallan los pasos para instalar Node.js en los sistemas operativos más comunes:
Windows:
- Visita la página oficial de Node.js en nodejs.org y descarga el instalador de la versión LTS (Soporte a Largo Plazo) para Windows.
- Ejecuta el instalador y sigue las indicaciones del asistente de instalación, aceptando los términos de la licencia y seleccionando las opciones predeterminadas.
- Una vez completada la instalación, verifica que Node.js está correctamente instalado abriendo la línea de comandos y ejecutando:
node -v
Deberías ver la versión de Node.js instalada, por ejemplo, v22.14.0
.
macOS:
- Puedes instalar Node.js mediante el gestor de paquetes Homebrew. Si no tienes Homebrew instalado, puedes hacerlo ejecutando en la Terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Una vez instalado Homebrew, instala Node.js ejecutando:
brew install node
- Verifica la instalación comprobando la versión de Node.js:
node -v
Linux:
- En distribuciones basadas en Debian/Ubuntu, abre la terminal y ejecuta:
sudo apt update
sudo apt install nodejs npm
- En distribuciones basadas en Fedora/CentOS/RHEL, utiliza:
sudo dnf install nodejs npm
- Comprueba la versión instalada:
node -v
- Es posible que las versiones disponibles en los repositorios oficiales no sean las más recientes. Para instalar la última versión LTS de Node.js, puedes utilizar el repositorio oficial:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install nodejs
O para Fedora:
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo dnf install nodejs
Uso de NVM (Node Version Manager):
- NVM es una herramienta que permite instalar y gestionar múltiples versiones de Node.js en el mismo sistema. Es especialmente útil para desarrolladores que trabajan en proyectos con diferentes versiones de Node.js.
- Para instalar NVM, ejecuta en la terminal:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
Luego, carga NVM en tu sesión actual:
source ~/.nvm/nvm.sh
- Instala la versión LTS de Node.js:
nvm install --lts
- Comprueba las versiones instaladas y selecciona la que deseas usar:
nvm ls
nvm use --lts
- Verifica que Node.js está instalado:
node -v
- Comprobar la instalación:
Para asegurarte de que tanto Node.js como el gestor de paquetes npm están correctamente instalados, verifica las versiones:
node -v
npm -v
Deberías obtener la versión de Node.js y la versión de npm instalada.
Instalar Yarn (opcional):
- Yarn es un gestor de paquetes alternativo a npm, que ofrece algunas ventajas en términos de velocidad y seguridad. Puedes instalarlo ejecutando:
npm install -g yarn
Verifica la instalación:
yarn -v
Una vez instalado Node.js, podrás ejecutar scripts de JavaScript en tu sistema y utilizar un gran número de herramientas y frameworks de desarrollo que dependen de Node.js, como React, Angular o Vue.js.
Es importante mantener tu instalación de Node.js actualizada para beneficiarte de las últimas mejoras y correcciones de seguridad. Puedes consultar la versión actual y actualizarla según sea necesario utilizando el gestor de paquetes o NVM.
Principales características de JavaScript
JavaScript es un lenguaje de programación versátil y poderoso que ha evolucionado para adaptarse a las necesidades del desarrollo moderno. A continuación, exploraremos las principales características que definen a JavaScript y lo hacen único en el ecosistema de lenguajes de programación.
1. Lenguaje interpretado y dinámico
JavaScript es un lenguaje interpretado, lo que significa que el código se ejecuta directamente sin necesidad de compilación previa. Además, es de tipado dinámico, permitiendo que las variables puedan contener valores de cualquier tipo sin declarar explícitamente su tipo. Esto aporta flexibilidad al desarrollar, aunque requiere atención para evitar errores relacionados con tipos.
let variable = 10;
variable = 'Ahora soy una cadena';
2. Orientado a objetos basado en prototipos
A diferencia de otros lenguajes orientados a objetos que utilizan clases, JavaScript utiliza un modelo basado en prototipos. Los objetos pueden heredar propiedades y métodos directamente de otros objetos. Con la introducción de la sintaxis de clases en ECMAScript 6, se ha facilitado la escritura de código orientado a objetos, aunque internamente sigue funcionando mediante prototipos.
class Persona {
constructor(nombre) {
this.nombre = nombre;
}
saludar() {
console.log(`Hola, me llamo ${this.nombre}`);
}
}
3. Funciones como ciudadanos de primera clase
En JavaScript, las funciones son ciudadanos de primera clase, lo que significa que pueden asignarse a variables, pasarse como argumentos y retornarse desde otras funciones. Esto permite utilizar patrones de programación funcional y construir funciones de orden superior.
const multiplicar = (a, b) => a * b;
function operacion(a, b, func) {
return func(a, b);
}
console.log(operacion(5, 3, multiplicar)); // 15
4. Manejo de asíncronía con Callbacks, Promesas y Async/Await
JavaScript soporta programación asíncrona, lo que es esencial para aplicaciones web que requieren operaciones no bloqueantes como llamadas a servidores o temporizadores. Inicialmente, el manejo de asíncronía se realizaba con callbacks, pero esto podía llevar al conocido "callback hell". Con la introducción de Promesas y posteriormente async/await
, se ha simplificado significativamente el código asíncrono.
// Uso de Promesas
fetch('https://api.ejemplo.com/datos')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
// Uso de Async/Await
async function obtenerDatos() {
try {
const response = await fetch('https://api.ejemplo.com/datos');
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
obtenerDatos();
5. Event Loop y modelo de concurrencia
JavaScript utiliza un modelo de concurrencia basado en un event loop. Aunque es un lenguaje monohilo, puede manejar múltiples operaciones asíncronas a través de la cola de eventos y el loop de eventos. Esto permite que JavaScript gestione tareas sin bloquear la ejecución principal.
6. Extenso ecosistema y NPM
El uso de Node.js ha permitido que JavaScript tenga un amplio ecosistema de paquetes y módulos disponibles a través de NPM (Node Package Manager), uno de los gestores de paquetes más grandes y activos. Esto facilita la incorporación de funcionalidades y acelera el desarrollo.
npm install express
7. Interoperabilidad con APIs y JSON
JavaScript es el lenguaje por excelencia para interactuar con APIs web y manejar datos en formato JSON (JavaScript Object Notation). Su naturaleza ligera y estructura de objetos lo hacen ideal para enviar y recibir datos en aplicaciones web modernas.
const datos = {
nombre: 'Ana',
edad: 25
};
const jsonString = JSON.stringify(datos);
console.log(jsonString); // {"nombre":"Ana","edad":25}
8. Manipulación del DOM
En el entorno del navegador, JavaScript permite manipular el Document Object Model (DOM), lo que posibilita crear interfaces de usuario interactivas y dinámicas. A través del DOM, es posible acceder y modificar elementos HTML y responder a eventos del usuario.
document.getElementById('boton').addEventListener('click', () => {
alert('Botón pulsado');
});
9. Compatibilidad multiplataforma
JavaScript puede ejecutarse en múltiples entornos, no solo en navegadores. Gracias a Node.js, es posible utilizar JavaScript en el lado del servidor, en aplicaciones de escritorio con Electron, y en desarrollo móvil con frameworks como React Native.
10. Soporte para programación funcional
JavaScript incorpora características que facilitan la programación funcional, como funciones puras, inmutabilidad y métodos de arrays como map
, filter
y reduce
. Esto permite escribir código más declarativo y menos propenso a errores.
const numeros = [1, 2, 3, 4, 5];
const cuadrados = numeros.map(num => num * num);
console.log(cuadrados); // [1, 4, 9, 16, 25]
11. Sintaxis moderna y mejoras continuas
Con las actualizaciones constantes de ECMAScript, JavaScript ha incorporado una sintaxis más moderna y características avanzadas como el operador de propagación, destructuración, módulos y BigInt para números enteros de gran tamaño. Estas mejoras continúan ampliando las capacidades del lenguaje.
const obj = { a: 1, b: 2 };
const objExtendido = { ...obj, c: 3 };
console.log(objExtendido); // { a: 1, b: 2, c: 3 }
12. Comunidad activa y recursos abundantes
La comunidad de JavaScript es vibrante y activa, lo que se traduce en una gran cantidad de recursos, bibliotecas y frameworks disponibles. Esto facilita el aprendizaje y la resolución de problemas al contar con el apoyo de otros desarrolladores.
Diferencias entre JavaScript y TypeScript
TypeScript es un superset de JavaScript que añade tipado estático y otras características avanzadas al lenguaje. Mientras que JavaScript es un lenguaje de tipado dinámico, TypeScript introduce un sistema de tipos estático que permite detectar errores en tiempo de compilación en lugar de en tiempo de ejecución.
Una de las principales diferencias es que TypeScript requiere definir los tipos de datos de las variables, parámetros y funciones, lo que mejora la legibilidad y mantenibilidad del código. Por ejemplo:
function sumar(a: number, b: number): number {
return a + b;
}
En JavaScript, la misma función no especifica los tipos:
function sumar(a, b) {
return a + b;
}
La introducción de interfaces en TypeScript permite definir contratos para objetos, facilitando el diseño de arquitecturas más robustas. Las interfaces describen la forma exacta que un objeto debe tener:
interface Persona {
nombre: string;
edad: number;
}
const usuario: Persona = { nombre: 'Ana', edad: 30 };
TypeScript también soporta tipos adicionales como enumeraciones (enum), tipos genéricos y tuplas, que no están disponibles en JavaScript puro. Estos tipos permiten modelar datos de manera más precisa y detectar inconsistencias antes de ejecutar el código.
Otra diferencia fundamental es que TypeScript necesita ser transpilado a JavaScript antes de poder ser ejecutado por el navegador o Node.js. Este proceso convierte el código TypeScript en código JavaScript equivalente, utilizando el compilador tsc
. Por lo tanto, es necesario incluir un paso de compilación en el flujo de trabajo de desarrollo.
El tipado estático de TypeScript mejora la experiencia de desarrollo al proporcionar autocompletado más preciso, detección temprana de errores y mejor integración con editores de código como Visual Studio Code. Esto se debe a que el compilador tiene información detallada sobre los tipos y estructuras utilizadas en el código.
Sin embargo, TypeScript es completamente compatible con JavaScript. Todo código JavaScript válido es también código TypeScript válido. Esto permite migrar progresivamente un proyecto de JavaScript a TypeScript, añadiendo tipado según sea necesario.
En cuanto a la sintaxis, TypeScript extiende la de JavaScript sin eliminar características existentes. Por ejemplo, en TypeScript es posible utilizar clases y decoradores con más opciones, lo que facilita la implementación de patrones de diseño y la integración con ciertos frameworks.
El manejo de módulos en TypeScript sigue la especificación de ES6, pero también añade soporte para diferentes sistemas de módulos como CommonJS y AMD. Esto proporciona flexibilidad al trabajar en diferentes entornos y con diversas tecnologías.
Además, TypeScript ofrece verificación de tipos en tiempo de compilación, mientras que JavaScript solo detecta errores en tiempo de ejecución. Esto ayuda a prevenir errores comunes como el acceso a propiedades inexistentes o el paso de argumentos incorrectos a funciones.
Un ejemplo de error detectado por TypeScript:
let valor: string = 'cadena';
valor = 10; // Error: el tipo 'number' no se puede asignar al tipo 'string'
En JavaScript, este error pasaría desapercibido hasta que provoque un fallo en ejecución. La detección temprana de errores en TypeScript contribuye a la calidad y fiabilidad del código.
TypeScript también introduce el concepto de modificación estructural de tipos, permitiendo utilizar tipos más complejos y combinarlos mediante uniones e intersecciones. Esto ofrece mayor expresividad al definir tipos personalizados:
type Mixto = string | number;
let dato: Mixto;
dato = 'texto';
dato = 42;
En términos de ecosistema, TypeScript cuenta con definiciones de tipos para numerosas bibliotecas y frameworks a través de los paquetes @types
disponibles en NPM. Esto permite utilizar dichas bibliotecas con tipado completo, mejorando la integración y el autocompletado durante el desarrollo.
A pesar de las ventajas, TypeScript introduce una complejidad adicional al requerir configuración del compilador y gestión de tipos. Para proyectos pequeños o scripts simples, el beneficio puede no justificar el esfuerzo añadido. No obstante, en aplicaciones de gran escala, el uso de TypeScript puede mejorar significativamente la calidad y mantenibilidad del código.
Las principales diferencias entre JavaScript y TypeScript radican en el tipado estático, las características adicionales del lenguaje y la necesidad de un proceso de compilación. TypeScript extiende JavaScript para ofrecer un entorno más seguro y estructurado sin sacrificar la flexibilidad inherente del lenguaje original.
Ejercicios de esta lección Introducción a JavaScript
Evalúa tus conocimientos de esta lección Introducción a JavaScript con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Funciones flecha
Polimorfismo
Array
Transformación con map()
Gestor de tareas con JavaScript
Manipulación DOM
Funciones
Funciones flecha
Async / Await
Creación y uso de variables
Excepciones
Promises
Funciones cierre (closure)
Herencia
Herencia
Estructuras de control
Selección de elementos DOM
Modificación de elementos DOM
Filtrado con filter() y find()
Funciones cierre (closure)
Funciones
Mapas con Map
Reducción con reduce()
Callbacks
Manipulación DOM
Promises
Async / Await
Eventos del DOM
Async / Await
Promises
Filtrado con filter() y find()
Callbacks
Creación de clases y objetos Restaurante
Reducción con reduce()
Filtrado con filter() y find()
Reducción con reduce()
Conjuntos con Set
Herencia de clases
Eventos del DOM
Clases y objetos
Modificación de elementos DOM
Mapas con Map
Introducción a JavaScript
Funciones
Tipos de datos
Clases y objetos
Array
Conjuntos con Set
Array
Encapsulación
Clases y objetos
Uso de operadores
Uso de operadores
Estructuras de control
Excepciones
Transformación con map()
Funciones flecha
Selección de elementos DOM
Encapsulación
Mapas con Map
Creación y uso de variables
Polimorfismo
Tipos de datos
Estructuras de control
Todas las lecciones de JavaScript
Accede a todas las lecciones de JavaScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Javascript
Introducción Y Entorno
Tipos De Datos
Sintaxis
Variables
Sintaxis
Operadores
Sintaxis
Estructuras De Control
Sintaxis
Funciones
Sintaxis
Funciones Cierre (Closure)
Sintaxis
Arrays Y Métodos
Estructuras De Datos
Conjuntos Con Set
Estructuras De Datos
Mapas Con Map
Estructuras De Datos
Funciones Flecha
Programación Funcional
Filtrado Con Filter() Y Find()
Programación Funcional
Transformación Con Map()
Programación Funcional
Reducción Con Reduce()
Programación Funcional
Clases Y Objetos
Programación Orientada A Objetos
Excepciones
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Manipulación Dom
Dom
Selección De Elementos Dom
Dom
Modificación De Elementos Dom
Dom
Eventos Del Dom
Dom
Callbacks
Programación Asíncrona
Promises
Programación Asíncrona
Async / Await
Programación Asíncrona
Certificados de superación de JavaScript
Supera todos los ejercicios de programación del curso de JavaScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender los fundamentos de JavaScript.
- Conocer los paradigmas de programación en JavaScript.
- Explorar las aplicaciones de JavaScript en diversas áreas tecnológicas.
- Entender la importancia de JavaScript en el ecosistema tecnológico actual.