Що таке функція каррінг (currying function) в javascript?

Що таке функція каррінг (currying function) в javascript?

Функція каррінг (currying function) в JavaScript - це процес перетворення функції, яка приймає декілька аргументів, у послідовність функцій, кожна з яких приймає лише один аргумент. Ось приклад використання каррінгу в JavaScript:

// Функція, яка додає два числа
function add(a, b) {
  return a + b;
}

// Каррінг функції `add`
function curryAdd(a) {
  return function(b) {
    return a + b;
  };
}

var addTwo = curryAdd(2);
console.log(addTwo(3)); // 5

У цьому прикладі, ми визначаємо функцію add, яка додає два числа. Потім ми визначаємо функцію curryAdd, яка приймає перший аргумент a та повертає функцію, яка приймає другий аргумент b та додає його до a. Таким чином, ми можемо викликати функцію addTwo з аргументом 3, що повертає 5. Каррінг в JavaScript дозволяє вам створювати більш гнучкі та повторно використовувані функції за допомогою часткового визначення аргументів.

Часткове застосування JS

Часткове застосування (partial application) в JavaScript - це процес створення нової функції, яка є частковим застосуванням іншої функції з певними аргументами. Ось приклад використання часткового застосування в JavaScript:

// Функція, яка додає два числа
function add(a, b) {
  return a + b;
}

// Часткове застосування функції `add` з аргументом 2
var addTwo = add.bind(null, 2);

console.log(addTwo(3)); // 5

У цьому прикладі, ми визначаємо функцію add, яка додає два числа. Потім ми створюємо нову функцію addTwo, яка є частковим застосуванням функції add з аргументом 2. Після цього ми викликаємо функцію addTwo з аргументом 3, що повертає 5. Часткове застосування в JavaScript дозволяє вам створювати більш гнучкі та повторно використовувані функції за допомогою часткового визначення аргументів.

Currying в JS

Функція каррінг (currying function) в JavaScript - це процес перетворення функції, яка приймає декілька аргументів, у послідовність функцій, кожна з яких приймає лише один аргумент. Ось приклад використання каррінгу в JavaScript:

// Функція, яка додає два числа
function add(a, b) {
  return a + b;
}

// Каррінг функції `add`
function curryAdd(a) {
  return function(b) {
    return a + b;
  };
}

var addTwo = curryAdd(2);
console.log(addTwo(3)); // 5

У цьому прикладі, ми визначаємо функцію add, яка додає два числа. Потім ми визначаємо функцію curryAdd, яка приймає перший аргумент a та повертає функцію, яка приймає другий аргумент b та додає його до a. Таким чином, ми можемо викликати функцію addTwo з аргументом 3, що повертає 5. Каррінг в JavaScript дозволяє вам створювати більш гнучкі та повторно використовувані функції за допомогою часткового визначення аргументів.

Функция-конструктор JS

Функція-конструктор (constructor function) в JavaScript - це функція, яка використовується для створення нових об'єктів. Ось приклад використання функції-конструктора в JavaScript:

// Функція-конструктор
function Person(name, age) {
  this.name = name;
  this.age = age;
}

// Створення нового об'єкта за допомогою функції-конструктора
var person = new Person('John', 30);

console.log(person.name); // 'John'
console.log(person.age); // 30

У цьому прикладі, ми визначаємо функцію-конструктор Person, яка приймає аргументи name та age та встановлює їх як властивості об'єкта this. Потім ми створюємо новий об'єкт person за допомогою функції-конструктора Person та передаємо йому значення name та age. Таким чином, функції-конструктори в JavaScript дозволяють вам створювати нові об'єкти з однаковою структурою та поведінкою.

Що таке типи посилань js

Типи посилань (reference types) в JavaScript - це об'єкти, які зберігаються та передаються за посиланням. Ось приклад використання типів посилань в JavaScript:

// Створення об'єкта
var person = {
  name: 'John',
  age: 30
};

// Передача об'єкта за посиланням
function updatePerson(person) {
  person.age++;
}

updatePerson(person);
console.log(person.age); // 31

У цьому прикладі, ми створюємо об'єкт person з властивостями name та age. Потім ми визначаємо функцію updatePerson, яка приймає об'єкт person та збільшує його властивість age на одиницю. Після цього ми викликаємо функцію updatePerson з об'єктом person, що змінює його властивість age. Таким чином, типи посилань в JavaScript дозволяють вам працювати з об'єктами та передавати їх за посиланням.

Мемоізація JS

Мемоізація (memoization) в JavaScript - це техніка оптимізації, яка полягає в збереженні результатів викликів функції для певних вхідних даних та повторному використанні цих результатів при наступних викликах з тими ж вхідними даними. Ось приклад використання мемоізації в JavaScript:

// Функція, яка обчислює факторіал
function factorial(n) {
  if (n === 0) {
    return 1;
  }
  return n * factorial(n - 1);
}

// Мемоізація функції `factorial`
var memoizedFactorial = (function() {
  var cache = {};
  return function(n) {
    if (n in cache) {
      return cache[n];
    }
    var result = factorial(n);
    cache[n] = result;
    return result;
  };
})();

console.log(memoizedFactorial(5)); // 120

У цьому прикладі, ми визначаємо функцію factorial, яка обчислює факторіал числа n. Потім ми визначаємо мемоізовану функцію memoizedFactorial, яка зберігає результати обчислення факторіалу в кеші та повторно використовує їх при наступних викликах. Таким чином, мемоізація в JavaScript дозволяє вам покращити продуктивність програми шлях використання кешування результатів обчислень.

Leave a Reply

Your email address will not be published. Required fields are marked *