TypeScript · Essencial · Inglês · Técnico
ReadonlyArray
Tipo de array sem os métodos que mutam, como push e sort. Também escrito readonly T[], garante que a função não vai alterar o que recebeu.
Onde usar
Em code review: 'esse parâmetro deveria ser readonly string[]'. Aceita tanto arrays comuns quanto readonly, então amplia o que quem chama pode passar.
Em código
function soma(xs: readonly number[]) {
// xs.push(1); // erro: não existe push
return xs.reduce((a, b) => a + b, 0);
}
const nums: number[] = [1, 2, 3];
soma(nums);
const ro: ReadonlyArray<string> = ['a'];Exemplos
Take a ReadonlyArray here, this function never mutates the list.
Receba um ReadonlyArray aqui, essa função nunca muta a lista.
A regular array fits a readonly parameter, but not the other way around.
Um array comum serve para um parâmetro readonly, mas o contrário não.
Cuidado
A relação é de mão única: um T[] é atribuível a readonly T[], mas o contrário não, porque exigiria permissão para mutar.
Sinônimos
readonly T[]