Introducción¶
Mapa de la unidad¶

Lenguajes de script de cliente. Características Estándares.¶
Hoy (2025) el estándar ECMAScript y su implementación en el lenguaje JavaScript dominan los scripts de lado de cliente.
Por su parte JavaScript, en adelante JS, además de ser de lado de cliente, también podemos implementarlo en el lado del servidor y para realizar aplicaciones de escritorio, p.e. con el framework Electron.
Nota: JavaScript es una marca comercial de Oracle y es un dialecto/implementación del estándar ECMAScript.
Características¶
Es un lenguaje...
- interpretado: no requiere compilarlo, pero recomendamos utilizar linter que verifique su validez.
- con tipado dinámico: las variables son del tipo del dato que contienen, pero pueden cambiar libremente.
- tipado débil: variables de distinto tipo pueden interoperar sin cambios explícitos. Ésto requiere un conocimiento exhaustivo de las opciones.
- lenguaje imperativo.
- Multiparadigma:
- funcional: donde las funciones son "ciudadanos de primera clase", esto es, podemos asignar funciones a variables, pasar funciones a funciones y retornar funciones de funciones.
- orientado a objetos: basada en prototipos, aunque podemos crear definición de clases y objetos a partir de ellas.
- mono-hilo en el lado del cliente y multi-hilo del lado del servidor.
- multiplataforma: el mismo en todos los navegadores de todos los S.O.
- Con APIs diferentes para el cliente (navegador web) y servidor (Node.js, Bun, ...).
- dinámico y orientado a eventos: permite modificar webs de forma dinámica (sin recargar datos) y gestionado por eventos de usuario.
Recorrido¶
Vamos a realizar un recorrido por el lenguaje antes de comenzar a trabajar contra el navegador, el DOM y el BOM.
- La introducción (esta sección)
- Las variables y constantes
- Las
string templates(plantillas) - El uso de la consola
- Las funciones
- El ámbito de las variables
- Tipos de datos
- Primitivos (por valor)
- Objetos y arrays (por referencia)
- La conversión entre tipos (coherción /
cast) - Operadores
- Objetos
- La programación estructurada
- Condicionales
- Bucles
- Los arrays trabajados de forma clásica
- Los arrays trabajados de forma moderna
- Desestructuración
- Loops:
forEach(),.map()y.filter()
- Concurrencia
- Capturando elementos del DOM
- Eventos
- Modificación del DOM y el CSSOM.
- XML ↔️ JS
Nota: aunque en JS no es necesario al ; final de cada línea, nosotros los pondremos SIEMPRE.