El ReadonlyArray es un tipo especial que describe arreglos que no deberían cambiar.
const miLista: ReadonlyArray<string> = ["a", "b", "c"];
miLista.push("d"); // <- esta línea generaría un error
El tipo ReadonlyArray es el equivalente para los arreglos de readonly para las propiedades. Cuando vemos una función que consume ReadonlyArray, nos dice que podemos pasar un arreglo a la función sin preocuparnos que este arreglo va a cambiar dentro de ella.
A diferencia de Array, no existe el constructor ReadonlyArray que pueda ser utilizado. Por lo cual no se puede crear un arreglo ReadonlyArray de la siguiente forma.
const miLista = new ReadonlyArray("a", "b", "c");
En lugar de ello podemos asignar un arreglo normal a uno de solo lectura.
const miLista: ReadonlyArray<string> = ["a", "b", "c"];
Como ya comentamos, sintaxis alternativa de
Array<Type>esType[]. Para el caso deReadonlyArray[Type]hay que agregar el prefijoreadonly Type[]que indica que el arreglo es de solo lectura.