Hola a todos, hoy os voy a explicar como podemos definir y asignar variables en TypeScript.
Declarar variables significa indicar el tipo de dato que almacenara las variables que participan en el programa.
En TypeScript, tenemos tipado, es decir, podemos indicar el tipo de variable. No es necesario indicarle el tipo, pero es recomendable. Para valores numéricos tenemos number y para cadenas string.
Si una variable es de tipo y queremos darle otro valor de otro tipo nos dará error al ejecutar.
Cuando no sepamos qué tipo tendrá, podemos usar el tipo any, que corresponde a cualquiera.
Antes de empezar a ver ejemplos, quiero explicaros que es el ámbito o scope, esto es que cada bloque que abramos (if, for, while, etc) crea su propio scope y esto hace que según declaremos la variable este disponible o no.
// Scope 1 if(true){ // Scope 2 let index: number=0; while(index < 3){ // Scope 3 index++; } }else{ // Scope 4 }
Podemos crear variables de 3 formas diferentes:
Var
Var nos sirve para crear variables globales dentro del ámbito creado, al salir fuera del scope, seguirá con valor. Veamos algunos ejemplos:
var valor: number = 1; if(valor > 0){ var valor: number = 2; console.log("Dentro del if: ", valor); } console.log("Fuera del if: ", valor);
Este es el resultado que da:
Probemos con este ejemplo:
// var valor: number = 1; if(1 > 0){ var valor:number = 2; console.log("Dentro del if: ", valor); } console.log("Fuera del if: ", valor);
Da el mismo resultado de antes, ya que al definirse se puede usar en cualquier scope.
LET
Let nos permite crear variables locales, esto quiere decir que solo estará disponible en el scope donde se cree, fuera de este ya no estará disponible. Siempre recomiendo utilizar let antes que var.
La diferencia entre let y var es el tema del scope. Lo vemos en los ejemplos.
Veamos el mismo ejemplo de antes:
let valor: number = 1; if(valor > 0){ let valor: number = 2; console.log("Dentro del if: ", valor); } console.log("Fuera del if: ", valor);
En este caso, dentro de cada scope, tiene un valor diferente, en caso de que no existiera let valor = 2; dará el mismo valor en ambos.
En el segundo caso:
// let valor: number = 1; if(1 > 0){ let valor: number = 2; console.log("Dentro del if: ", valor); } console.log("Fuera del if: ", valor);
Aquí da error, porque fuera del scope del if, no existe valor.
CONST
Const es como let, solo que no puede modificarse el valor después de declararse. Se usa para crear constantes.
const valor: number = 1; if(1 > 0){ const valor: number = 2; console.log("Dentro del if: ", valor); } console.log("Fuera del if: ", valor);
El resultado es:
Seguro que has pensado que daría error al decir que no puede cambiar su valor, pero piensa que estamos en otro scope y he declarado la variable de nuevo. Veamos un caso parecido:
const valor: number = 1; if(1 > 0){ valor: number = 2; console.log("Dentro del if: ", valor); } console.log("Fuera del if: ", valor);
Aquí si daría error al intentar cambiar el valor de la variable valor.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta