Declaración de variables en TypeScript

Author
By Darío Rivera
Posted on 2022-08-31 in TypeScript

En un post anterior vimos el abanico de Tipos de Datos en TypeScript de los cuales disponemos. El día de hoy veremos las diferentes formas que tenemos para declarar e inicializar variables lo cual incluye la inferencia de tipos y el tipado dinámico.

Reglas para el nombrado de identificadores

Case-Sensitivity: Todos los nombres de variables son sensibles a mayúsculas y minúsculas, lo cual indica que la variable num es distinta a la variable Num.

Label-Rule: Las variables deben comenzar con una letra, un guión al piso ( _ ) o un signo de dólar, seguido de una combinación de letras, números, guiones al piso y signos de dólar.

Not-Keyword: Las nombres de variables no puedes ser iguales a una palabra reservada del lenguaje.

Inferencia de tipos

Tal y como vimos en Tipos de Datos en TypeScript, para declarar variables con tipo siempre se deben usar las palabras reservadas const, var o let. Sin embargo, si no se especifica el tipo de una variable esta se infiere de manera automática con su valor. Por ejemplo, el tipo de la siguiente variable será inferido a string.

let userName = 'Steve';

Cuando se infiere el tipo, la variable conservará las mismas caraceterísticas de una variable que se declara como el tipo inferido. Esto quiere decir, que no podrá ser reasginada con un valor de otro tipo. TypeScript siempre intentará donde vea que sea posible, inferir el tipo de una asignacion. Observa el siguiente ejemplo en donde no se definió un array de strings, sin embargo, TypeScript lo infiere y lanza un error cuando se inyecta un error de typo.

// No type annotations here, but TypeScript can spot the bug
const names = ["Alice", "Bob", "Eve"];
 
// Contextual typing for function
names.forEach(function (s) {
  console.log(s.toUppercase());
});

Este ejemplo lanzaría el siguiente error en el compilador.

Property 'toUppercase' does not exist on type 'string'. Did you mean 'toUpperCase'?

Declaración explícita

Podemos declarar explícitamente el tipo que tendrá una variable utilizando la siguiente sintaxis.

let nombreVariable: tipo;

Porsupuesto, puedes usar los modificadores var, let y const al declarar variables en TypeScript (ver Declaración de variables en JavaScript). También puedes inicializar el valor en una misma sentencia. Veamos el siguiente ejemplo en donde declaramos un string e inicializamos con un valor

let userName: string = 'Steve';

Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.