Los arrays de solo lectura en TypeScript nos permiten albergar una colección de elementos que se comporten de forma inmutable durante toda la vida de un programa. Por ejemplo, imagina una situación en la que tienes que tener la lista de ciudades de un estado o las tallas de unas camisetas de ropa,… cualquier listado de elementos que tengas que manipular y que sepas que no va a cambiar y que quieres que en ningún momento de la ejecución se modifique.
Para definir arrays de solo lectura en TypeScript tenemos la palabra reservada ReadonlyArray
. De esta manera podremos definir un array de solo lectura mediante la siguiente sentencia:
let nombre_array:ReadonlyArray = [valor1,valor2,...,valorN];
Así, por ejemplo, podemos definir las tallas de la ropa de la siguiente forma:
let tallas:ReadonlyArray = ['xs','s','m','l','xl'];
Una vez definidos estos valores lo que sí podremos hacer es ver su contenido y utilizarlo, por ejemplo podemos mostrar el contenido por pantalla de la siguiente forma:
console.log(tallas[1]);
Pero lo que no podremos hacer es añadir nuevos elementos. Por ejemplo no existe el método .push()
.
// Error Compilación
miarray.push('xxl');
Tampoco podremos modificar el contenido de uno de los elemento. Es por ello que si escribimos la siguiente sentencia:
// Error Compilación
miarray[2] = 'M';
También tendremos un error de compilación.
La verdad que el uso de arrays de solo lectura en TypeScript es muy útil en ciertas ocasiones y nos permite establecer un control sencillo sobre una lista de elementos en tiempo de codificación y compilación.