JavaScript · Intermediário · Português · Técnico
função pura
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 é externoExemplos
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