Pure functions no JavaScript

O que são funções puras?

Uma função pura não depende e não modifica o estado de variáveis fora do seu escopo. (simples assim!)

Em suma, uma função pura sempre retorna o mesmo valor para os parâmetros passando. Sua execução nunca depende do estado da aplicação.

E como fica isso no JavaScript?

Antes vamos ver a implementação de uma função impura.

Note que toda vez que a função addOne é chamada ela altera o estado da variável value que fica fora do seu escopo e isso é o que a torna impura.

Não importa o valor que a função receba como argumento mesmo que isso seja um valor arbitrário, como por exemplo, addOne([‘batata’, [], 1, {}]) ela sempre retornará o mesmo valor. (‘batata,,1,[object Object]1’)

Vantagens de usar funções puras

Funções puras não possuem nenhum efeito colateral, ou seja, ela não irá alterar o estado da aplicação que esteja fora do seu escopo e isso significa maior controle sobre o código que está sendo escrito.

É fácil testar funções puras unitariamente já que não existe nenhum contexto a ser considerado. Somente entrada e saída de dados.

Com o mínimo de boas práticas na hora de escreve-las, sempre serão simples e fáceis de entender porque a única coisa que deve ser focado é o seu retorno.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.