typescript-variables

Variables en TypeScript

En TypeScript, podemos declarar variables utilizando la palabra clave let o const, seguida del nombre de la variable (opcionalmente, su tipo).

La palabra clave let declara variables que tienen un ámbito de bloque (block scope). Esto significa que la variable solo es accesible dentro del bloque donde las definimos.

let nombre: string = "Juan";
nombre = "Carlos"; // Correcto
console.log(nombre); // Carlos

La palabra clave const se utiliza para declarar constantes (es decir, variables cuyo valor no cambiará una vez asignado). También tienen un ámbito de bloque.

const PI: number = 3.1416;
console.log(PI); // 3.1416

// PI = 3.14; // Error: No se puede asignar un nuevo valor a una constante

Ámbito de la Variable

El ámbito de una variable determina dónde se puede acceder a ella en el código. TypeScript tiene tres tipos principales de ámbito.

Ámbito Global

Una variable declarada fuera de cualquier función o bloque tiene un ámbito global y es accesible desde cualquier parte del código.

let globalVar: string = "Soy global";

function mostrarGlobal() {
    console.log(globalVar); // Soy global
}

Ámbito de Bloque

Las variables declaradas con let o const dentro de un bloque (por ejemplo, dentro de una estructura if, for, o {}) solo son accesibles dentro de ese bloque.

if (true) {
    let bloqueLet: string = "Dentro del bloque";
    console.log(bloqueLet); // Dentro del bloque
}
// console.log(bloqueLet); // Error: bloqueLet no está definido

Ámbito de Función

Una variable declarada dentro de una función solo es accesible dentro de esa función. Las variables declaradas con var tienen ámbito de función.

function ejemploFuncion() {
    var funcionVar: string = "Dentro de la función";
    console.log(funcionVar); // Dentro de la función
}
// console.log(funcionVar); // Error: funcionVar no está definido

No se recomienda usar var en la actualidad. De hecho ni siquiera la he puesto al principio en opciones. De verdad, no la uséis.

Tipos de variables en TypeScript

En TypeScript, podemos asignar diferentes tipos a nuestras variables. Por ejemplo, así,

let nombre: string = "Juan";
let edad: number = 25;
let esMayor: boolean = true;
let listaNumeros: number[] = [1, 2, 3, 4, 5];
let persona: { nombre: string, edad: number } = { nombre: "Juan", edad: 25 };

En el resto del curso profundizaremos en los distintos tipos disponibles y cómo usarlos, ya que son el principal atractivo de TypeScript

Inferencia de tipos

En TypeScript, el compilador puede inferir automáticamente el tipo de una variable según el valor que le asignemos.

Esto significa que no siempre es necesario especificar el tipo de una variable explícitamente, ya que TypeScript puede deducirlo por sí mismo.

let nombre = "Juan";
let edad = 25;

En el ejemplo anterior,

  • No hemos especificado el tipo de las variables nombre y edad
  • Sin embargo, TypeScript puede inferir que nombre es de tipo string y edad es de tipo number por los valores que les asignamos.

TypeScript también infiere en casos más complejos, como los tipos de retorno de las funciones basándose en el valor de retorno.

function sumar(a: number, b: number) {
    return a + b; // Tipo inferido como number
}

let resultado = sumar(1, 2); // Tipo inferido como number