← JavaScript EspañolChapter 02 of 13

Variables y Tipos de Datos

## Objetivos de Aprendizaje - Comprender los tipos de datos primitivos - Declarar variables con const, let y var - Trabajar con strings, numbers y booleans - Entender null y undefined ## Tipos de Datos Primitivos JavaScript tiene 7 tipos de datos primitivos: | Tipo | Descripción | Ejemplo | |------|-------------|---------| | string | Texto | `"Hola"` | | number | Número | `42`, `3.14` | | boolean | true o false | `true` | | null | Valor nulo intencional | `null` | | undefined | No asignado | `undefined` | | symbol | Identificador único | `Symbol()` | | bigint | Enteros grandes | `9007199254740991n` | ## Declarando Variables ### const (Inmutable) ```javascript const PI = 3.14159; const NOMBRE_USUARIO = "María"; // PI = 3; // Error: No se puede reasignar ``` ### let (Mutable) ```javascript let edad = 25; edad = 26; // Permitido let mensaje = "Hola"; mensaje = "Adiós"; // Permitido ``` ### var (Antiguo) ```javascript var nombre = "Juan"; var nombre = "Pedro"; // Redeclaración permitida (¡peligroso!) ``` ## Strings (Cadenas de Texto) ### Comillas ```javascript const comillaSimple = 'Hola'; const comillaDoble = "Mundo"; const plantilla = `¡Hola, ${comillaDoble}!`; ``` ### Métodos de String ```javascript const texto = "JavaScript es genial"; texto.length; // 20 texto.toUpperCase(); // "JAVASCRIPT ES GENIAL" texto.toLowerCase(); // "javascript es genial" texto.includes("genial"); // true texto.startsWith("Java"); // true texto.endsWith("genial"); // true texto.slice(0, 10); // "JavaScript" texto.split(" "); // ["JavaScript", "es", "genial"] ``` ### Plantillas de Cadena ```javascript const nombre = "Ana"; const edad = 28; const presentacion = `Hola, soy ${nombre} y tengo ${edad} años.`; const multi = ` Este es un texto multilínea `; ``` ## Numbers (Números) ### Enteros y Decimales ```javascript const entero = 42; const decimal = 3.14159; const cientifico = 1.5e10; // 15000000000 ``` ### Operaciones Matemáticas ```javascript 10 + 5; // 15 (suma) 10 - 5; // 5 (resta) 10 * 5; // 50 (multiplicación) 10 / 5; // 2 (división) 10 % 3; // 1 (residuo) 10 ** 2; // 100 (exponenciación) ``` ### Funciones Math ```javascript Math.PI; // 3.141592653589793 Math.round(4.5); // 5 Math.floor(4.5); // 4 Math.ceil(4.5); // 5 Math.abs(-5); // 5 Math.sqrt(16); // 4 Math.pow(2, 3); // 8 Math.random(); // número aleatorio 0-1 ``` ### NaN e Infinity ```javascript Math.sqrt(-1); // NaN (No es un número) 1 / 0; // Infinity -1 / 0; // -Infinity isNaN(Math.sqrt(-1)); // true isFinite(1 / 0); // false ``` ## Booleans ```javascript const verdadero = true; const falso = false; // Operadores de comparación 10 > 5; // true 10 < 5; // false 10 === 10; // true 10 !== 5; // true ``` ## null y undefined ### null Valor intencionalmente vacío: ```javascript const vacio = null; console.log(vacio); // null ``` ### undefined Variable declarada sin valor: ```javascript let sinDefinir; console.log(sinDefinir); // undefined // Explícito const noAsignado = undefined; ``` ### Diferencia ```javascript let a = null; // Intencionalmente vacío let b; // No definida todavía console.log(a === null); // true (usar para verificar null) console.log(b === undefined); // true ``` ## Conversión de Tipos ### A String ```javascript String(42); // "42" (42).toString(); // "42" true.toString(); // "true" ``` ### A Number ```javascript Number("42"); // 42 Number("42.5"); // 42.5 Number("hola"); // NaN Number(true); // 1 Number(false); // 0 parseInt("42"); // 42 parseFloat("42.5"); // 42.5 ``` ### A Boolean ```javascript Boolean(1); // true Boolean(0); // false Boolean("hola"); // true Boolean(""); // false Boolean(null); // false Boolean(undefined); // false ``` ## Verificación de Tipos ### typeof ```javascript typeof "hola"; // "string" typeof 42; // "number" typeof true; // "boolean" typeof null; // "object" (¡error histórico!) typeof undefined; // "undefined" typeof {}; // "object" typeof []; // "object" typeof function(){}; // "function" ``` ## Resumen - `const` para valores que no cambian, `let` para variables - Strings: comillas simples, dobles o plantillas - Numbers: enteros y decimales con Math para operaciones - Booleans: `true` o `false` - `null` es intencional; `undefined` es no asignado - Usa `Number()`, `String()`, `Boolean()` para conversión - `typeof` verifica el tipo de una variable

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →