Объявление функций в JS. Function Declaration / Expression / Arrow / IIFE - IZIART

Разработка сайтов
индивидуальный дизайн

Главная » JS » Объявление функций в JS. Function Declaration / Expression / Arrow / IIFE

Объявление функций в JS. Function Declaration / Expression / Arrow / IIFE

Обновлено: 05.10.2023
js

Функция в JavaScript специальный тип объектов, позволяющий формализовать средствами языка определённую логику поведения и обработки данных.

Function Declaration

Объявление функции состоит из ключевого слова function.
Такую функцию можно вызвать до объявления — благодаря эффекту всплытия (Hoisting).

function sayHallo(name) {
    return `Hello ${name}`;
}

Function Expression

Функция будет присвоена переменной и описана без имени или с именем. Такую функцию нельзя вызвать до объявления.

// Function Expression
const say = function (name) {
    return `Hello ${name}`;
}

// Named Function Expression
const count = function step(number) {
    if (number > 0) {
	step(number - 1);
    }
}

Arrow function

Поведение стрелочных функций с ключевым словом this отличается от поведения обычных функций с this. Каждая функция в JavaScript определяет свой собственный контекст this, но внутри стрелочных функций значение this то же самое, что и снаружи (стрелочные функции не имеют своего this).

const sayHello = (name) => `Hello ${name}`;

IIFE

«immediately-invoked function expressions» (аббревиатура IIFE), что означает функцию, запускаемую сразу после объявления.

(function() {
  let message = "Hello";
  console.log(message);
})();