Sobes.tech
Middle

O que é uma função pura? O console.log dentro de uma função é um efeito colateral?

sobes.tech IA

Resposta da IA

Uma função pura é uma função que, para entradas iguais, sempre retorna o mesmo resultado e não provoca efeitos colaterais (side-effects).

Efeitos colaterais são quaisquer ações da função que vão além do cálculo do valor, por exemplo:

  • modificar variáveis ou estados externos,
  • realizar entrada/saída (como escrever na consola, trabalhar com ficheiros, rede),
  • modificar os argumentos da função.

console.log dentro de uma função é um efeito colateral, pois imprime dados na consola, o que influencia o mundo exterior e não está diretamente relacionado com o valor devolvido pela função.

Exemplo de função pura:

function add(a, b) {
  return a + b;
}

Exemplo de função com efeito colateral:

function logSum(a, b) {
  const sum = a + b;
  console.log(sum); // efeito colateral
  return sum;
}

Assim, console.log dentro da função torna-a impura.