Volver a JavaScript Básico

Variables y Tipos de Datos

JavaScript tiene tres formas de declarar variables: var, let y const.

var, let, const

// var — alcance de función, evitar en JS moderno var legado = "forma antigua"; // let — alcance de bloque, reasignable let puntuacion = 0; puntuacion = 100; // const — alcance de bloque, no reasignable const PI = 3.14159; const usuario = { nombre: "Alice" }; usuario.nombre = "Bob"; // OK — mutar el objeto está permitido

Tipos Primitivos

// string const saludo = "Hola"; const plantilla = `Puntuación: ${puntuacion}`; // Template literal // number const edad = 25; const precio = 9.99; const grande = 9_007_199_254_740_991; // Separador numérico // bigint const enorme = 9007199254740992n; // boolean const activo = true; // null — ausencia intencional const datos = null; // undefined — valor no inicializado let valor; console.log(valor); // undefined // symbol — identificador único const id = Symbol("id");

Verificación de Tipos

typeof "hola" // "string" typeof 42 // "number" typeof true // "boolean" typeof undefined // "undefined" typeof null // "object" ← bug famoso typeof {} // "object" typeof [] // "object" typeof function(){} // "function" // Mejor verificación para arrays Array.isArray([]) // true

Coerción de Tipos

// Implícita (evitar cuando sea posible) "5" + 3 // "53" — concatenación de string "5" - 3 // 2 — resta numérica !!0 // false !!"hola" // true // Explícita (preferida) Number("42") // 42 String(100) // "100" Boolean(0) // false parseInt("3.7") // 3 parseFloat("3.7") // 3.7

Desestructuración

// Desestructuración de array const [primero, segundo, ...resto] = [1, 2, 3, 4, 5]; // Desestructuración de objeto const { nombre, edad: edadUsuario = 18 } = { nombre: "Alice", edad: 30 }; console.log(edadUsuario); // 30

Regla de oro: Siempre usa const por defecto; cambia a let solo cuando necesites reasignar esa variable. Nunca uses var.