Saltar al contenido
introduccion.js · devschool

¿Qué es JavaScript?

Lección 1 de 38 · 5 min de lectura · Actualizado el

En esta lección
  1. Un poco de historia
  2. JavaScript en todas partes
  3. Características del lenguaje
  4. Sus puntos débiles (y cómo evitarlos)
  5. Tu primera línea
  6. Dónde se escribe
  7. Mira el ejemplo

JavaScript es un lenguaje de programación. Junto con HTML y CSS, es una de las tres tecnologías básicas de la web, pero es muy distinto de ellas: HTML y CSS describen (qué hay y cómo se ve), mientras que JavaScript da órdenes: hace cálculos, toma decisiones, repite tareas y reacciona a lo que hace el usuario.

Con JavaScript puedes, por ejemplo:

  • Mostrar u ocultar partes de la página cuando alguien pulsa un botón.
  • Comprobar un formulario antes de enviarlo.
  • Cargar datos nuevos sin recargar la página (como hace un chat o un mapa).
  • Crear juegos, gráficos y animaciones.

Un poco de historia

  • 1995. Brendan Eich, que trabajaba en Netscape, crea el primer prototipo del lenguaje en unos diez días. Se necesitaba un lenguaje sencillo para dar vida a las páginas web.
  • El nombre. Se llamó JavaScript por marketing: Java estaba de moda y querían aprovechar el nombre. Pero no tienen nada que ver: son lenguajes completamente distintos. Se parecen tanto como “coche” y “cochera”.
  • 1997. Para que todos los navegadores lo implementaran igual, se estandarizó. Como la marca “Java” pertenecía a Sun (hoy Oracle), el estándar se llamó ECMAScript. En la práctica, todo el mundo sigue diciendo JavaScript.
  • 2009 (ES5). Llegan el modo estricto y el soporte nativo de JSON.
  • 2015 (ES6 o ES2015). La gran revolución: let y const, funciones flecha, clases, módulos, plantillas de texto, promesas… El JavaScript moderno empieza aquí.
  • Desde 2016 sale una versión nueva cada año (ES2016, ES2017…), con mejoras más pequeñas, como async/await en 2017.

Cuando leas un tutorial, fíjate en la fecha. Si usa var y function para todo y no ves let, const ni =>, probablemente sea anterior a 2015.

JavaScript en todas partes

Nació para el navegador, donde no tiene rival: es el único lenguaje que todos los navegadores ejecutan. Pero hoy se usa en muchos más sitios:

  • Servidores, con Node.js y frameworks como Express.
  • Aplicaciones de escritorio, con Electron (VS Code, Slack o Discord están hechas así).
  • Apps móviles, con React Native.
  • Herramientas de línea de comandos, automatización y hasta dispositivos electrónicos.

Por eso se dice que es un lenguaje everywhere: aprendiendo uno solo, puedes trabajar en el cliente y en el servidor.

Características del lenguaje

  • Tipado dinámico. No declaras el tipo de las variables: una variable puede guardar un número y luego un texto.
  • Dinámico. Los objetos se crean sobre la marcha y se les pueden añadir propiedades en cualquier momento.
  • Multiparadigma. Admite programación imperativa (paso a paso), funcional (con funciones como valores), orientada a objetos y basada en eventos.
  • Seguro en el navegador. Por diseño, el JavaScript de una página no puede leer tus archivos ni comunicarse libremente con cualquier servidor. Vive en una “caja de arena”.
  • ¿Interpretado o compilado? Los motores modernos (como V8, el de Chrome y Node.js) compilan el código al vuelo mientras se ejecuta (JIT). Aun así, en la práctica se comporta como un lenguaje interpretado: siempre se distribuye el código fuente.

Sus puntos débiles (y cómo evitarlos)

JavaScript tiene fama de raro, y en parte con razón: se diseñó con prisa y arrastra decisiones de 1995 que no se pueden cambiar sin romper millones de webs. Algunas:

  • Todos los números son del mismo tipo (decimales en coma flotante), así que 0.1 + 0.2 no da exactamente 0.3.
  • El operador == hace conversiones sorprendentes ("" == 0 es true).
  • Si escribes mal el nombre de una propiedad, no da error: obtienes undefined.
  • Existen dos valores para “vacío”: undefined y null.

La buena noticia: el JavaScript moderno, escrito con buenas costumbres (const y let, ===, modo estricto), es un lenguaje muy agradable. Y si quieres que te avise de más errores, existe TypeScript.

Tu primera línea

console.log("¡Hola, mundo!");

console.log() escribe un mensaje en la consola. Para verla en el navegador, pulsa F12 (o clic derecho → Inspeccionar) y ve a la pestaña Consola. Es donde verás los resultados y, sobre todo, los errores de tu código: tenla siempre abierta mientras programas.

Otras formas de mostrar algo:

alert("Hola");               // una ventana emergente (molesta: úsala solo para pruebas)
document.write("Hola");      // obsoleta: no la uses

Dónde se escribe

En una página web, el JavaScript va en un archivo aparte (lo recomendable) o dentro de una etiqueta <script>:

<!-- En un archivo aparte -->
<script src="js/app.js" defer></script>

<!-- Dentro del HTML -->
<script>
  console.log("Hola desde el HTML");
</script>

Pon los <script> al final del <body>, o en el <head> con el atributo defer. Así el navegador ya ha leído todo el HTML cuando tu código intenta usarlo.

Mira el ejemplo

En el editor de abajo hay un contador de clics. Todavía no hace falta que entiendas cada línea: fíjate en que veces guarda un número que va cambiando. Eso es una variable. Antes de llegar ahí, verás cómo ejecutar JavaScript fuera del navegador con Node.js y las reglas básicas de sintaxis.

Pruébalo tú

Cambia el código y pulsa Ejecutar (o Ctrl + Enter).

introduccion.html
Resultado

Pon a prueba lo que has aprendido

[JavaScript] ¿Qué relación hay entre Java y JavaScript?

[JavaScript] ¿Cómo se llama el estándar oficial de JavaScript?

¿Te ha quedado claro? Márcala y verás tu progreso en el explorador.