TechLead

Variables

let, const, var

Que son las Variables?

Las variables son contenedores que almacenan valores. En JavaScript, declaras una variable usando una palabra clave (var, let, o const), le das un nombre y opcionalmente asignas un valor inicial.

Tres Palabras Clave de Declaracion

const (Constante)

Usa const por defecto. Crea una variable con alcance de bloque que no puede ser reasignada. Esta es tu primera opcion para casi todas las variables.

const nombre = "Alicia";
const edad = 25;
const esEstudiante = true;

// nombre = "Roberto"; // Error: Asignacion a variable constante

Importante:

const previene la reasignacion, no la mutacion. Los objetos y arrays aun pueden tener su contenido modificado:

const usuario = { nombre: "Alicia" };
usuario.nombre = "Roberto"; // Permitido - modificando el objeto
// usuario = {}; // Error - no se puede reasignar

const numeros = [1, 2, 3];
numeros.push(4); // Permitido - modificando el array
// numeros = []; // Error - no se puede reasignar

let (Variable Local)

Usa let cuando necesites reasignar un valor. Tiene alcance de bloque, lo que significa que solo existe dentro del bloque mas cercano (funcion, bucle, sentencia if).

let contador = 0;
contador = 1; // Permitido - la reasignacion esta bien
contador = 2;

if (true) {
  let variableLocal = "dentro";
  // variableLocal solo es accesible aqui
}
// console.log(variableLocal); // Error: variableLocal no esta definida

var (Evitar)

var es la forma antigua de declarar variables. Tiene alcance de funcion (no de bloque) y puede llevar a bugs confusos. Evita var en codigo moderno.

function ejemplo() {
  if (true) {
    var x = 10; // x existe en toda la funcion!
  }
  console.log(x); // 10 - esto funciona con var
}

// Con let, esto seria un error:
function ejemploLet() {
  if (true) {
    let y = 10;
  }
  // console.log(y); // Error: y no esta definida
}

Reglas de Nombrado

  • Deben comenzar con una letra, guion bajo (_) o signo de dolar ($)
  • Pueden contener letras, numeros, guiones bajos y signos de dolar
  • Son sensibles a mayusculas (miVar y mivar son diferentes)
  • No pueden ser palabras reservadas (let, const, function, etc.)
// Buenos nombres de variables
const nombreUsuario = "juan123";
const _privado = "secreto";
const $precio = 99.99;
const CONSTANTE_MAX = 100;

// Malos nombres (evitar)
// const 123abc = "invalido"; // No puede empezar con numero
// const mi-variable = "invalido"; // No puede tener guiones