Sobes.tech
Junior

Ինչ է մաքուր ֆունկցիան?

sobes.tech AI

Պատասխան AI-ից

Մաքուր ֆունկցիա է այն ֆունկցիան, որը բավարարում է երկու պայմաններին՝

  1. Դետերմինիզմ՝ երբ նույն արգումենտներով կանչվում է, միշտ նույն արդյունքը է վերադարձնում։
  2. Անվտանգ կողմնակի ազդեցություններ՝ այն չի փոխում արտաքին վիճակը կամ տվյալները իր սահմաններից դուրս (օրինակ՝ չի փոփոխում գլոբալ փոփոխականները, չի գրում ֆայլում, չի կատարում ցանցային հարցումներ):

Մաքուր ֆունկցիայի օրինակ՝

// Մաքուր ֆունկցիա՝ միշտ կվերադարձնի երկու թվերի գումարը՝ առանց արտաքին փոփոխականների փոփոխության։
function add(a, b) {
  return a + b;
}

Անմաքուր ֆունկցիա (կողմնակի ազդեցությամբ)՝

// Անմաքուր ֆունկցիա՝ փոփոխում է արտաքին փոփոխականը՝ counter-ը։
let counter = 0;

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

Նորից՝ ոչ դետերմինիստական անմաքուր ֆունկցիա՝

// Անմաքուր ֆունկցիա՝ արդյունքը կախված է ընթացիկ ժամանակից։
function getCurrentTime() {
  return new Date().getTime();
}