TypeScript has support for read-only array types. When used, TypeScript will throw an error under one of the following conditions:
A method that mutates that original array is used. These methods include:
.reverse
,.push
, and.sort
.The contents of an array are modified.
myReadOnlyArray[3] = “Foo” // Index signature in type 'readonly number[]' only permits reading.
The readonly
property is useful for declaring that neither the array itself or the values inside the array should change.
There are two ways of declaring read-only arrays in TypeScript:
// Declaration #1 (Array Generic)
const currencies: ReadonlyArray<string> = ['coins', 'rings', 'rupees'];
const numbers: ReadonlyArray<number> = [50, 100, 200];
// Declaration #2 (Array Shorthand)
const currencies: readonly string[] = ['coins', 'rings', 'rupees'];
const numbers: readonly number[] = [50, 100, 200];