ExpertiDict

JavaScript · Intermediário · Português · Técnico

função pura

/fũˈsɐ̃w̃ ˈpuɾɐ/substantivo

Função que, dados os mesmos argumentos, sempre devolve o mesmo resultado e não causa efeitos colaterais, como alterar variáveis externas, escrever em disco ou usar Math.random.

Onde usar

Facilita testes, memoização e o raciocínio sobre estado em React e Redux. Em code review, mutar o argumento recebido é o deslize mais comum.

Em código

const somar = (a, b) => a + b; // pura
let total = 0;
const somarAo = (n) => (total += n);
// impura: altera total, que é externo

Exemplos

Essa função é pura: mesma entrada, mesma saída.

Seu reducer mutou o estado, então deixou de ser função pura.

Cuidado

Considerar pura uma função que altera o array recebido com push ou sort.

Sinônimos

pure function

Antônimos

função impura

Veja também

Todos os termos de JavaScript