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;
}

დეტერმინიზმზე მიუწვდომელი, ნასუფთა ფუნქციის მაგალითი:

// დDeterministic-განმარტებით, შედეგი დამოკიდებულია მიმდინარე დროს.
function getCurrentTime() {
  return new Date().getTime();
}