Що таке функція каррінг (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 дозволяє вам покращити продуктивність програми шлях використання кешування результатів обчислень.