Apuntes sobre Javascript

JavaScript lo resuelve todo... eventualmente.

Variables y Tipos de Datos

Nota: En esta lección y en las siguientes usamos console.log() para mostrar resultados. Recuerda que esto solo es visible en la consola del navegador (F12), no en la página. Es la herramienta habitual para aprender y depurar. Cuando lleguemos a la manipulación del DOM (lección 9), veremos cómo hacer que los resultados aparezcan directamente en el HTML.

¿Qué son las variables?

Una variable es un espacio de memoria donde puedes guardar datos para usarlos o modificarlos más tarde.

En JavaScript, puedes declarar variables usando tres palabras clave:

  • let: Para variables que pueden cambiar su valor.
  • const: Para variables que no cambiarán (constantes).
  • var: Una forma antigua de declarar variables (evítala por ahora, ya que let y const son más modernas y seguras).

Declarando variables

Ejemplo con let:

let nombre = "Ana";
console.log(nombre); // Imprime: Ana
nombre = "Carlos"; // Cambiamos el valor
console.log(nombre); // Imprime: Carlos

Ejemplo con const:

const edad = 25;
console.log(edad); // Imprime: 25 //
edad = 26; // Esto dará un error, porque const no permite cambios

Tipos de datos básicos

JavaScript tiene varios tipos de datos que puedes guardar en variables. Aquí los más comunes:

Números Representan valores numéricos, enteros o decimales.

let precio = 10.99;             // usamos un . para decimales
let cantidad = 5;
console.log(precio * cantidad); // Imprime: 54.95

Cadenas (strings): Texto encerrado en comillas simples (') o dobles (").

let saludo = "Hola, mundo!";
let ciudad = 'Madrid';
console.log(saludo); // Imprime: Hola, mundo!

JavaScript también tiene los template literals: cadenas con backticks (`) que permiten insertar variables o expresiones directamente dentro del texto con ${}. Son más cómodos que concatenar con + cuando el texto mezcla variables:

let nombre = "Lucía";
let edad = 25;

let mensaje1 = "Hola, " + nombre + ". Tienes " + edad + " años."; // concatenación
let mensaje2 = `Hola, ${nombre}. Tienes ${edad} años.`;             // template literal

console.log(mensaje1); // Imprime: Hola, Lucía. Tienes 25 años.
console.log(mensaje2); // Imprime: Hola, Lucía. Tienes 25 años.

console.log(`El doble de ${edad} es ${edad * 2}`); // también acepta expresiones

Booleanos Representan true (verdadero) o false (falso).

let esMayor = true;
let estaLloviendo = false;
console.log(esMayor); // Imprime: true

Null Representa la ausencia de valor.

let valor = null;
console.log(valor); // Imprime: null

Undefined Indica que una variable no tiene un valor asignado.

let x;
console.log(x); // Imprime: undefined

Operaciones básicas con variables

Puedes combinar variables y tipos de datos:

Concatenar cadenas:

let nombre = "Lucía";
let mensaje = "Hola, " + nombre + "!";
console.log(mensaje); // Imprime: Hola, Lucía!`

Operaciones con números:

let a = 10;
let b = 3;
console.log(a + b); // Imprime: 13
console.log(a - b); // Imprime: 7

Cuando varios operadores aparecen juntos, el orden en que se aplican se determina por la precedencia de los operadores. La multiplicación se realiza antes que la suma. El operador / tiene la misma precedencia que *. Igualmente, + y - tienen la misma precedencia. Cuando varios operadores con la misma precedencia aparecen uno al lado del otro, como en 1 - 2 + 1, se aplican de izquierda a derecha: (1 - 2) + 1.

La precedencia puede alterarse envolviendo operadores en paréntesis:

console.log((5+3)*2); // Imprime: 16. La + tiene preferencia por el ()
console.log(5+3*2);   // Imprime: 11. La * tiene preferencia

Alcance de las variables

El alcance (o scope) determina desde dónde es accesible una variable. Con let y const, el alcance es de bloque: la variable solo existe dentro del par de llaves {} donde se declaró.

Una variable declarada fuera de cualquier bloque es global y es accesible en todo el código. Una declarada dentro de una función o de un bloque if, for, etc. es local a ese bloque.

let idioma = "español"; // global: accesible en todo el código

function saludar() {
  let nombre = "Ana"; // local: solo existe dentro de esta función
  console.log(idioma); // OK: accede a la variable global
  console.log(nombre); // OK
}

saludar();
console.log(idioma); // OK
// console.log(nombre); // Error: nombre no existe fuera de la función

Lo mismo ocurre en cualquier bloque, como un if o un bucle:

if (true) {
  let resultado = 42;
  console.log(resultado); // OK
}
// console.log(resultado); // Error: no existe fuera del bloque

Buenas prácticas

  • Usa nombres claros y descriptivos: edad en vez de x.
  • Prefiere const cuando el valor no cambiará.
  • Evita var.

Nota: var ignora el alcance de bloque: una variable declarada con var dentro de un if o un bucle es visible en toda la función, no solo en ese bloque. Es la razón principal por la que hoy se evita en favor de let y const.

En la próxima lección: operadores, para realizar cálculos, comparaciones y operaciones lógicas con esos datos.

TOP