Europe/Kyiv
Posts

JavaScript Functions

March 30, 2025
Функції є одним з фундаментальних будівельних блоків у JavaScript. Функція в JavaScript подібна до процедури — набору інструкцій, який виконує завдання або обчислює значення, але щоб процедура вважалася функцією, вона повинна приймати деякі вхідні дані та повертати вихідні дані, де існує очевидний зв'язок між вхідними та вихідними даними. Щоб використовувати функцію, ви повинні визначити її десь в області видимості, з якої ви хочете її викликати. • Оголошуються за допомогою ключового слова function.
• Можуть бути викликані до їх оголошення (hoisting).
• Мають доступ до this, який залежить від контексту виклику.
function myFunction(a, b) {
 return a * b;
}
• Функції, присвоєні змінній.
• Вона не піднімається (hoisting не працює).
this також залежить від контексту.
const multiply = function(a, b) {
 return a * b;
}
• Функції без імені.
• Часто використовуються як callback або в функціональних виразах.
function() {
 
}
Анонімна функція як callback у setTimeout.
setTimeout(function() {
 console.log('Delayed message');
 }, 1000);
Анонімна функція у функціональному виразі
const multiply = function (a, b) {
 return a * b;
 };
• Не має власного this, arguments, успадковують від батьківського контексту.
• Hе може бути використана як конструктор.
• Стрілкові функції повертають значення за замовчуванням.
• Стрілкові функції можуть бути асинхронними, якщо перед виразом додати ключове слово async.
() => {}
() => expression
param => expression
(param1, paramN) => expression
async param => expression
• Self-Invoking Function — це інша назва Immediately Invoked Function Expression.
• Ви повинні додати дужки навколо функції, за виразом слідують ().
• Функція, що викликається одразу після створення.
• Вона використовується для створення локальної області видимості та ізоляції коду.
(function () {
 console.log('IIFE executed!');
 })();
• Як ви бачили в попередніх прикладах, функції JavaScript визначаються за допомогою function ключового слова.
• Функції також можна визначити за допомогою вбудованого конструктора функцій JavaScript під назвою Function().
const myFunction = new Function('a', 'b', 'return a * b');
let x = myFunction(4, 3);
• Щоб створити генератор, нам потрібна спеціальна синтаксична конструкція: function*.
• Функції, які можуть бути призупинені та відновлені.
• Використовують ключове слово yield для повернення значень.
• Основним методом генератора є next(). При виклику він запускає виконання коду до найближчого оператора yield.
function* count() {
 let i = 0;
  while (true) {
   yield i++;
 }
}
const counter = count();
console.log(counter.next().value);