Tutorial de JavaScript para principiantes: guía completa de JavaScript
JavaScript hace que las páginas web se muevan, respondan y piensen. También impulsa servidores, herramientas y la automatización de pruebas. Aprende las ideas centrales con ejemplos cortos y funcionales.
- JavaScript se ejecuta en todos los navegadores y en servidores con Node.js.
- Usa
constpor defecto,letcuando un valor cambie y evitavar. - Los arrays y los objetos guardan tus datos. Las funciones guardan tu lógica.
- Usa
async/awaitpara gestionar las esperas, como las llamadas de red.
Todos los sitios web que usas hoy ejecutan JavaScript. El menú que se abre, el formulario que comprueba tu correo, el chat que se actualiza en directo: eso es JavaScript trabajando.
También es el lenguaje detrás de muchas herramientas de pruebas, como Playwright y Cypress. Por eso aprenderlo ayuda tanto a desarrolladores como a testers.
¿Qué es JavaScript?
JavaScript es un lenguaje de programación para la web. HTML da estructura a una página, CSS le da estilo y JavaScript le da comportamiento. Con Node.js también puedes ejecutar JavaScript fuera del navegador, en servidores y en tu propio ordenador.
Ejecuta tu primer código
No necesitas instalar nada. Abre tu navegador, pulsa F12, ve a la pestaña Consola y escribe:
console.log("¡Hola, JavaScript!");
Para usarlo en una página, añade un script a un archivo HTML:
<!DOCTYPE html>
<html>
<body>
<h1 id="title">Hola</h1>
<script src="app.js"></script>
</body>
</html>
Variables y tipos de datos
const name = "Asha"; // no se puede reasignar
let score = 10; // puede cambiar
score = score + 5;
const isActive = true; // booleano
const nothing = null; // vacío a propósito
let notSet; // undefined
console.log(typeof name, typeof score);
Tipos principales: string, number, boolean, null, undefined, object y symbol. Compara siempre con === (igual estricto), no con ==, para evitar sorpresas.
Funciones
function add(a, b) {
return a + b;
}
const multiply = (a, b) => a * b; // función flecha
console.log(add(2, 3), multiply(4, 5));
Las funciones se pueden pasar de un lado a otro como cualquier valor. Esa idea impulsa la mayor parte del JavaScript moderno.
Arrays y objetos
const tools = ["Playwright", "Cypress", "Selenium"];
tools.push("Appium");
const names = tools.map(t => t.toUpperCase());
const long = tools.filter(t => t.length > 7);
const user = { name: "Asha", role: "tester", skills: ["JS", "SQL"] };
console.log(user.name, user.skills[0]);
const { role } = user; // desestructuración
const copy = { ...user, role: "lead" }; // spread
| Método | Qué hace |
|---|---|
map |
Convierte cada elemento en algo nuevo |
filter |
Conserva los elementos que pasan una prueba |
find |
Devuelve el primer elemento que coincide |
reduce |
Combina los elementos en un solo valor |
El DOM y los eventos
El DOM es la página tal como la ve JavaScript. Puedes leerla y cambiarla.
const title = document.querySelector("#title");
const button = document.createElement("button");
button.textContent = "Púlsame";
document.body.append(button);
button.addEventListener("click", () => {
title.textContent = "¡Has pulsado el botón!";
});
Un evento es algo que ocurre, como un clic, una pulsación de tecla o el envío de un formulario. Lo escuchas y ejecutas código cuando ocurre.
Promesas y async/await
Algunas tareas tardan, como cargar datos de un servidor. JavaScript no se congela mientras espera. Usa promesas, y async/await las hace fáciles de leer.
function wait(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function run() {
console.log("Inicio");
await wait(1000);
console.log("Un segundo después");
}
run();
Llama a una API con fetch
async function loadUser() {
try {
const res = await fetch("https://jsonplaceholder.typicode.com/users/1");
if (!res.ok) throw new Error("La solicitud falló: " + res.status);
const user = await res.json();
console.log(user.name);
} catch (err) {
console.error(err.message);
}
}
loadUser();
Comprueba siempre res.ok y envuelve la llamada en try/catch. ¿Quieres entender qué ocurre detrás de estas llamadas? Lee nuestras buenas prácticas de API REST.
Miniproyecto: una lista de tareas
<input id="task" placeholder="Nueva tarea">
<button id="add">Añadir</button>
<ul id="list"></ul>
<script>
const input = document.querySelector("#task");
const list = document.querySelector("#list");
document.querySelector("#add").addEventListener("click", () => {
const text = input.value.trim();
if (!text) return;
const li = document.createElement("li");
li.textContent = text;
li.addEventListener("click", () => li.remove());
list.append(li);
input.value = "";
});
</script>
Después, guarda las tareas en localStorage para que sigan ahí tras recargar la página.
Errores comunes de los principiantes
- Usar
==en lugar de===. - Olvidar
awaitdentro de una función async. - Cambiar el DOM antes de que la página haya cargado.
- Copiar código sin leer los errores de la consola.
Cuando estés listo, aprende TypeScript, que añade tipos a JavaScript y detecta errores pronto. Si te gustan las pruebas, prueba la automatización de navegadores con las herramientas de nuestra guía de herramientas de automatización de pruebas.
Preguntas frecuentes
¿Es difícil aprender JavaScript?
Lo básico es amable y ves resultados enseguida en el navegador. Algunas ideas, como el código asíncrono, requieren práctica.
¿Es JavaScript lo mismo que Java?
No. Son lenguajes distintos con usos distintos. El nombre parecido es un accidente histórico.
¿Debería aprender primero JavaScript o Python?
Elige JavaScript si quieres crear sitios web. Elige Python si te inclinas por la automatización, los datos o la IA. Ambos son buenos primeros lenguajes.
¿Qué es Node.js?
Node.js te permite ejecutar JavaScript fuera del navegador, para servidores, herramientas de línea de comandos y automatización de pruebas.
¿Qué debería aprender después de lo básico?
Aprende bien el DOM y luego un framework como React, además de TypeScript, Git y cómo trabajar con API.
Sigue aprendiendo
¿Necesitas ayuda con testing, WordPress o SEO?
Ayudamos a los equipos a lanzar mejor software y a hacer crecer sus sitios. Cuéntanos en qué trabajas y te sugeriremos un siguiente paso claro.
Más guías sobre testing, IA y desarrollo moderno
¿Te gustó este artículo? Elige otro tutorial y sigue aprendiendo.
Tutorial de Python para principiantes: guía completa de programación en Python
Aprende Python desde cero. Cubre variables, tipos de datos, bucles, funciones, listas, diccionarios, archivos, clases y API, y crea un pequeño proyecto para practicar.
Leer artículo →Bases de datos y SQLBases de datos vectoriales explicadas: cómo funciona la búsqueda vectorial en 2026
Las bases de datos vectoriales buscan por significado, no solo por palabras clave. Aprende qué son los embeddings, la búsqueda por similitud, los índices HNSW, pgvector y cómo elegir la base de datos adecuada para un proyecto de IA.
Leer artículo →Inteligencia artificialVibe coding en 2026: cómo la IA está cambiando el desarrollo de software
Vibe coding significa crear software describiéndole a una IA lo que quieres. Aprende cómo funciona, dónde brilla, dónde falla y cómo mantener seguro el código escrito por IA.
Leer artículo →