Sobes.tech
Junior

Mis on puhas funktsioon?

sobes.tech AI

Vastus AI-lt

Puhas funktsioon on selline funktsioon, mis vastab kahele tingimusele:

  1. Determinism: Kui seda kutsutakse sama argumentidega, tagastab see alati sama tulemuse.
  2. Kohalike kõrvaltoimete puudumine: See ei muuda väliseid olekuid ega andmeid väljaspool oma ulatust (näiteks ei muuda globaalseid muutujaid, ei kirjuta faili, ei tee võrgu päringuid).

Puhas funktsiooni näide:

// Puhas funktsioon: tagastab alati kahe numbri summa, muutmata väliseid muutujaid.
function add(a, b) {
  return a + b;
}

Ebakohane funktsioon (kõrvaltoimete tõttu):

// Ebakohane funktsioon: muudab välist muutuja counter.
let counter = 0;

function incrementCounter() {
  counter++;
  return counter;
}

Mitte-deterministlik funktsioon:

// Mitte-deterministlik funktsioon: tulemus sõltub praegusest ajast.
function getCurrentTime() {
  return new Date().getTime();
}