Menu
Coddy logo textTech

Hoja de Trucos de JavaScript

Última actualización

Variables (let, const, var)

Declara valores; prefiere const, luego let, y evita var.

OperaciónSintaxis
Ámbito de bloque, se puede reasignarlet count = 0;
Ámbito de bloque, no se puede reasignarconst name = "Ada";
Ámbito de función (heredado)var x = 1;
Declarar sin valorlet result;
Varias declaracioneslet a = 1, b = 2;
Objeto constante (contenido mutable)const user = {}; user.id = 1;

Tipos de datos

Los tipos primitivos y de referencia, además de cómo comprobarlos.

TipoEjemplo
Númerolet n = 42;
Cadenalet s = "hi";
Booleanolet ok = true;
Arraylet arr = [1, 2, 3];
Objetolet obj = { id: 1 };
Null / undefinedlet a = null;, let b;
Comprobar un tipotypeof n
ConvertirNumber("7"), String(42), Boolean(0)

Cadenas y plantillas literales

Construye y manipula texto.

OperaciónSintaxis
Plantilla literalHi ${name}, age ${age} (envuélvelo en comillas invertidas)
Longitudtext.length
Mayúsculas / minúsculastext.toUpperCase(), text.toLowerCase()
Quitar espaciostext.trim()
Reemplazar todotext.replaceAll("a", "b")
Dividir en un arraytext.split(",")
Incluyetext.includes("js")
Cortartext.slice(0, 3)

Arrays y métodos de array

Colecciones ordenadas y los métodos que las recorren.

OperaciónSintaxis
Añadir / quitar al finalarr.push(4), arr.pop()
Añadir / quitar al principioarr.unshift(0), arr.shift()
Transformar cada elementoarr.map(x => x * 2)
Conservar elementos coincidentesarr.filter(x => x > 0)
Reducir a un solo valorarr.reduce((sum, x) => sum + x, 0)
Encontrar un elementoarr.find(x => x.id === 1)
Probar algunos / todosarr.some(f), arr.every(f)
Índice de un valorarr.indexOf(3), arr.includes(3)
Unir en una cadenaarr.join(", ")

Objetos

Colecciones de pares clave-valor.

OperaciónSintaxis
Crearconst user = { id: 1, name: "Ada" };
Acceder a una propiedaduser.name, user["name"]
Añadir / actualizar una propiedaduser.age = 25;
Eliminar una propiedaddelete user.age;
Obtener todas las claves / valoresObject.keys(user), Object.values(user)
Obtener entradasObject.entries(user)
Combinar objetosObject.assign({}, a, b)
Copia superficialconst copy = { ...user };

Control de flujo

Condicionales y bucles.

OperaciónSintaxis
If / else if / elseif (x > 0) { … } else { … }
Ternarioconst y = x > 0 ? 1 : 0;
Switchswitch (x) { case 1: … break; }
Bucle forfor (let i = 0; i < 5; i++) { … }
For-of (valores)for (const item of arr) { … }
For-in (claves)for (const key in obj) { … }
Bucle whilewhile (x < 10) { … }

Funciones y funciones flecha

Define bloques reutilizables que puedes invocar.

OperaciónSintaxis
Declaración de funciónfunction add(a, b) { return a + b; }
Función flechaconst add = (a, b) => a + b;
Flecha con un solo argumentoconst sq = x => x * x;
Flecha sin argumentosconst now = () => Date.now();
Parámetro por defectofunction f(x = 0) { … }
Parámetros restfunction f(...args) { … }
Invocada inmediatamente (IIFE)(() => { … })();

Desestructuración y spread

Desempaqueta valores y copia/combina estructuras.

OperaciónSintaxis
Desestructuración de arrayconst [a, b] = arr;
Desestructuración de objetoconst { id, name } = user;
Renombrar al desempaquetarconst { id: userId } = user;
Valor por defectoconst { age = 0 } = user;
Spread de un arrayconst all = [...a, ...b];
Spread de un objetoconst next = { ...user, age: 25 };
Rest en la desestructuraciónconst [first, ...rest] = arr;

Promesas y async/await

Gestiona el trabajo asíncrono como las solicitudes de red.

OperaciónSintaxis
Función asyncasync function load() { … }
Esperar una promesaconst data = await fetch(url);
Then / catchpromise.then(res => …).catch(err => …)
Try / catch con awaittry { await f(); } catch (e) { … }
Resolver / rechazarPromise.resolve(1), Promise.reject(err)
Esperar a todasawait Promise.all([a, b])
La primera en resolverseawait Promise.race([a, b])

La sintaxis moderna de JavaScript que más usas, en una sola página. Esta hoja de trucos de JavaScript es una referencia rápida para el día a día con ES6+: declarar variables, métodos de cadenas y arrays, objetos, funciones flecha, desestructuración y async/await.

Todo lo que hay aquí es JavaScript estándar que funciona en los navegadores modernos y en Node.js. Copia lo que necesites o prueba cualquier fragmento en vivo en el playground de JS, sin instalar nada.

Preguntas frecuentes sobre la hoja de trucos de JavaScript

¿Esta hoja de trucos de JavaScript es gratis?
Sí. Esta hoja de trucos de JavaScript es completamente gratuita, sin necesidad de registrarse. Guárdala en favoritos y vuelve cuando necesites consultar la sintaxis, un método de array o un patrón asíncrono.
¿Cuál es la diferencia entre == y === en JavaScript?
== es igualdad flexible: convierte los operandos al mismo tipo antes de comparar, así que 0 == "0" es true. === es igualdad estricta: compara tanto el valor como el tipo sin conversión, así que 0 === "0" es false. Prefiere === (y !==) en casi todos los casos: es predecible y evita coerciones sorprendentes.
¿Cuál es la diferencia entre let, const y var?
const y let tienen ámbito de bloque y se añadieron en ES6; var tiene ámbito de función y es más antiguo. Usa const para los valores que nunca reasignas, let para los que sí, y evita var para prevenir errores de hoisting y de ámbito. Ten en cuenta que un objeto o array const aún puede cambiar su contenido: solo el enlace es constante.
¿Puedo practicar JavaScript en línea?
Sí. Abre el playground de JS para ejecutar cualquier fragmento de esta hoja de trucos en tu navegador, sin instalar nada. Cuando quieras estructura, el curso interactivo y gratuito de JavaScript de Coddy te lleva paso a paso desde las variables y los bucles hasta los métodos de array y async/await.
¿Esta hoja de trucos es buena para principiantes?
Sí. Está organizada desde lo básico (variables, tipos de datos, cadenas) hasta la desestructuración y async/await, de modo que puedes usar las secciones de arriba desde el primer día e ir avanzando hacia las funciones modernas de ES6+.
Coddy programming languages illustration

Aprende JavaScript con Coddy

COMENZAR