Arrays de solo lectura en TypeScript
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.
Definir un array de solo lectura
Sección titulada «Definir un array de solo lectura»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<tipo_dato> = [valor1,valor2,...,valorN];Así, por ejemplo, podemos definir las tallas de la ropa de la siguiente forma:
let tallas: ReadonlyArray<string> = ['xs','s','m','l','xl'];Acceder a elementos del array
Sección titulada «Acceder a elementos del array»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]);Restricciones de modificación
Sección titulada «Restricciones de modificación»Pero lo que no podremos hacer es añadir nuevos elementos. Por ejemplo no existe el método .push().
// Error Compilaciónmiarray.push('xxl');Tampoco podremos modificar el contenido de uno de los elementos. Es por ello que si escribimos la siguiente sentencia:
// Error Compilaciónmiarray[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.
Descarga el código de Arrays de solo lectura en TypeScript
Descubre cómo los arrays de solo lectura en TypeScript garantizan inmutabilidad y control en tus colecciones de datos, ¡optimiza tu código ahora!