Variables en TypeScript

En el capítulo anterior viste como se puede declarar una variable. Esto de declarar una variable, simplemente es decir que existe. En algunos casos, además de declarar la variable, también puedes asignarle un valor. Además, tienes que tener en cuenta el scope o ámbito de actuación de la variable. Es decir, que hay algunas cuestiones que tienes que tener en cuenta a la hora de declarar una variable.

Variables en TypeScript

En el caso de TypeScript, existe tres formas de declarar una variable, con var, let y const. Dependiendo de como declares la variable, tendrá además un ámbito de actuación.

var

La primera de las formas de declarar una variable en TypeScript es utilizando var. Esta es la forma mas general, y la mas general de las tres. Tiene un ámbito de actuación general y puedes redeclarla tantas veces como quieras.

Esto tiene mucho peligro como ya te puedes imaginar. Teniendo un ámbito de actuación general, la variable puede haber sido modificado en cualquier punto de tu código. Esto que ves a continuación está permitido,

var saludos = "Hola mundo!";
var saludos = "Nada o algo";

console.log(saludos);

Por supuesto que puedes, y debes, declarar el tipo de cada una de las variables. Por ejemplo,

var saludos: string = "Hola mundo!"

Pero lo que no puedes hacer es cambiar el tipo con el que has declarado la variable, aunque estés utilizando var. Es decir, una variable declarada con var con un determinado tipo, tiene que seguir existiendo con este tipo.

Esto no está permitido,

var saludos: string = "Hola mundo!";
var saludos: number = 10;

let

La primera diferencia que puedes encontrar con var, es que let no permite que redeclares una variable en el mismo ámbito de actuación. Es decir, lo siguiente no está permitido,

let saludos: string = "Hola mundo!";
let saludos: string = "Nada";

Pero, además tiene otra restricción importante respecto a var, que no es ni mas ni menos que el ámbito de actuación. En el caso de let, el ámbito de actuación de la variable declarada se circunscribe al bloque que la contiene. En ese caso, no estás redeclarando una variable sino que estás declarando una nueva variable. Por ejemplo,

let saludos: string = "Hola mundo!";
if(true){
    let saludos: string = "Nada";
    console.log(saludos);
}
console.log(saludos);

Si ejecutas el código anterior, verás que el resultado es,

Nada
Hola mundo!

Al igual que sucede en el caso de var, es posible declarar una variable sin asignar valor, como por ejemplo puedes ver en el siguiente caso,

let saludos: string;
saludos = "Hola";
console.log(saludos)

const

En el caso de const, el ámbito de actuación se circunscribe al bloque donde ha sido declarada, al igual que sucede con let. Sin embargo, a diferencia de let, no es posible cambiar el valor de la variable, y además es necesario inicializar la variable. Así, por ejemplo, para declarar sería de la siguiente forma,

const saludos: string = "Hola";

Pero, por el contrario, lo siguiente no está permitido,

const saludos: string;
saludos = "Hola";

Aquí tengo que hacer una observación importante, y es por ejemplo con el tratamiento de Array o diccionarios. Cuando se define un Array es posible añadir o quitar elementos dentro del array, lo que no es posible es cambiar el tipo. Por ejemplo,

const saludos: string[] = [];
saludos.push("Hola");
saludos.push("Amigo");
console.log(saludos);

En el caso de un diccionario, es posible, cambiar las propiedades del diccionario. Lo que no podrás es añadir o quitar una determinada propiedad. Por ejemplo, esto que ves a continuación lo puedes hacer,

const persona = {
    nombre: "Pepe",
    apellido: "Pótamo"
}
console.log(persona);
persona.nombre = "Juan";
console.log(persona);

Esto da como resultado lo siguiente,

{ nombre: 'Pepe', apellido: 'Pótamo' }
{ nombre: 'Juan', apellido: 'Pótamo' }

El vídeo

Lo mismo que te he contado hasta el momento, pero ahora en formato vídeo,


Más información,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *