Skip to content

Introducción

Mapa de la unidad

mapa

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.

  1. La introducción (esta sección)
  2. Las variables y constantes
  3. Las string templates (plantillas)
  4. El uso de la consola
  5. Las funciones
  6. El ámbito de las variables
  7. Tipos de datos
  8. Primitivos (por valor)
  9. Objetos y arrays (por referencia)
  10. La conversión entre tipos (coherción / cast)
  11. Operadores
  12. Objetos
  13. La programación estructurada
    • Condicionales
    • Bucles
  14. Los arrays trabajados de forma clásica
  15. Los arrays trabajados de forma moderna
    • Desestructuración
    • Loops: forEach(), .map() y .filter()
  16. Concurrencia
  17. Capturando elementos del DOM
  18. Eventos
  19. Modificación del DOM y el CSSOM.
  20. XML ↔️ JS

Nota: aunque en JS no es necesario al ; final de cada línea, nosotros los pondremos SIEMPRE.