Tipos de datos en TypeScript (II). Numéricos

En el artículo anterior hicimos una vista previa de los tipos de datos primitivos que maneja TypeScript. En realidad, todos los tipos de datos que se manejan en TS son extensiones de los tipos primitivos, tal como vamos a ir viendo.

Este artículo está dedicado a cómo podemos manejar datos numéricos en TS, lo que podemos y no podemos hacer con ellos y, lo que es más importante, como «queda todo» cuando transpilamos a JS.

Vamos a ver que ocurre cuando manejamos datos en distintas bases de numeración, y como podemos obtener los resultados esperados.

DECLARANDO Y MOSTRANDO VALORES

En el artículo anterior vimos que en TS (en realidad, también en JS) se pueden declarar valores numéricos en las principales bases de numeración que se emplean en programación (binario, octal, decimal y hexadecimal). Vamos a crear un pequeño script que nos declare unos datos numéricos en estas bases y nos los muestre en consola. Lo llamaremos tipos_de_datos_2_1.ts:

Cuando transpilamos a JS obtenemos algo muy parecido:

Si ahora cargamos el JavaScript en un HTML, tal cómo hicimos en en artículo anterior, obtenemos, en la consola del navegador, lo siguiente (observa que yo tiro mucho de consola del navegador, porque es una forma muy cómoda de obtener resultados de pruebas en desarrollo):

Y aquí viene la primera sorpresa. Los datos han sido declarados en distintas bases de numeración (y así están tanto en el original en TS como en el transpilado en JS), pero la consola nos muestra todos en decimal. Si pruebas a hacer operaciones con estos datos, los resultados de las mismas también aparecen en decimal. Tienes unos ejemplos en tipos_de_datos_2_2.ts:

El resultado en la consola del navegador es:

Cómo puedes ver, todas las operaciones se han procesado en decimal. Es decir. Tanto JavaScript como TypeScript te permiten que asignes valores numéricos en distintas bases de numeración pero, una vez asignados, son almacenados y procesados en decimal.

LOS NOMBRES DE LAS VARIABLES

Observa que en el segundo código hemos cambiado los nombres de las variables. Esto se debe a lo siguiente: Tenemos dos scripts de TypeScript en el mismo proyecto. El transpilador «asume» que los JavaScript correspondientes pueden, en algún momento, ser invocados en el mismo contexto de ejecución (en el mismo documento HTML, para entendernos). Cómo las variables son globales en cada script (es decir, se declaran en el ámbito global del cuerpo del script) y no locales a un ámbito cerrado (una función u otro bloque de código), si le damos los mismos nombres en ambos scripts el transpilador «entiende» que las estamos declarando dos veces. Una variable puede declararse una sola vez en un contexto de ejecución, aunque pueda reasignarse su valor tantas veces cómo sea necesario. Por lo tanto, si las variables tuvieran los mismos nombres en ambos scripts, el transpilador dará errores por esta causa, y no efectuará la transpilación.

CONCLUYENDO

En este artículo hemos empezado a familiarizarnos con los datos numéricos en TS, y hemos aprendido un concepto importante respecto de los nombres de las variables. En el siguiente artículo empezaremos a trabajar con variables de tipo cadena. Los códigos de este artículo los tienes en este enlace para experimentar con ellos.

   

Deja un comentario