Що таке iife (immediately invoked function expression) в javascript?
IIFE (Immediately Invoked Function Expression) в JavaScript - це функція, яка викликається безпосередньо після її оголошення. IIFE використовується для створення області видимості для змінних та функцій, щоб уникнути конфліктів імен та забезпечити безпеку програми. Ось приклад використання IIFE в JavaScript:
(function() {
var x = 10;
console.log(x); // 10
})();
У цьому прикладі, ми оголошуємо IIFE, яка містить змінну x
та виводить її значення на консоль. IIFE дозволяє нам створювати область видимості для змінних та функцій, які не будуть доступні за межами IIFE. Це допомагає уникнути конфліктів імен та забезпечити безпеку програми.
Що таке самовикликаюча функція JS?
Самовикликаюча функція (self-invoking function) в JavaScript - це функція, яка викликається безпосередньо після її оголошення. Самовикликаючі функції використовуються для створення області видимості для змінних та функцій, щоб уникнути конфліктів імен та забезпечити безпеку програми. Ось приклад використання самовикликаючої функції в JavaScript:
(function() {
var x = 10;
console.log(x); // 10
})();
У цьому прикладі, ми оголошуємо самовикликаючу функцію, яка містить змінну x
та виводить її значення на консоль. Самовикликаючі функції дозволяють нам створювати область видимості для змінних та функцій, які не будуть доступні за межами самовикликаючої функції. Це допомагає уникнути конфліктів імен та забезпечити безпеку програми.
Що таке Function Declaration і function expression?
Function Declaration та Function Expression - це два способи оголошення функцій в JavaScript. Ось їх відмінності:
-
Function Declaration - це спосіб оголошення функції, який використовує ключове слово
function
без присвоєння до змінної. Функції, оголошені за допомогою Function Declaration, піднімаються (hoisted) до початку блоку, в якому вони були оголошені, тому їх можна викликати до їх оголошення. -
Function Expression - це спосіб оголошення функції, який використовує ключове слово
function
з присвоєнням до змінної. Функції, оголошені за допомогою Function Expression, не піднімаються (hoisted) до початку блоку, в якому вони були оголошені, тому їх можна викликати тільки після їх оголошення.
Ось приклад використання Function Declaration та Function Expression в JavaScript:
// Function Declaration
function foo() {
console.log('Hello, World!');
}
// Function Expression
var bar = function() {
console.log('Hello, World!');
};
foo();
bar();
У цьому прикладі, ми оголошуємо функцію foo
за допомогою Function Declaration та функцію bar
за допомогою Function Expression. Функція foo
може бути викликана до її оголошення, оскільки вона піднімається (hoisted), тоді як функцію bar
можна викликати тільки після її оголошення.
В чому різниця між функцією та функціональним виразом в JavaScript?
Функція та функціональний вираз - це два способи оголошення функцій в JavaScript. Ось їх відмінності:
-
Функція - це спосіб оголошення функції, який використовує ключове слово
function
без присвоєння до змінної. Функції, оголошені за допомогою Function Declaration, піднімаються (hoisted) до початку блоку, в якому вони були оголошені, тому їх можна викликати до їх оголошення. -
Функціональний вираз - це спосіб оголошення функції, який використовує ключове слово
function
з присвоєнням до змінної. Функції, оголошені за допомогою Function Expression, не піднімаються (hoisted) до початку блоку, в якому вони були оголошені, тому їх можна викликати тільки після їх оголошення.
Ось приклад використання Функції та Функціонального виразу в JavaScript:
// Функція
function foo() {
console.log('Hello, World!');
}
// Функціональний вираз
var bar = function() {
console.log('Hello, World!');
};
foo();
bar();
У цьому прикладі, ми оголошуємо функцію foo
за допомогою Function Declaration та функцію bar
за допомогою Function Expression. Функція foo
може бути викликана до її оголошення, оскільки вона піднімається (hoisted), тоді як функцію bar
можна викликати тільки після її оголошення.
Що поверне функція без return JS?
Функція в JavaScript, яка не має оператора return
, поверне значення undefined
. Ось приклад використання функції без оператора return
в JavaScript:
function foo() {
console.log('Hello, World!');
}
var result = foo();
console.log(result); // undefined
У цьому прикладі, функція foo
не має оператора return
, тому вона повертає значення undefined
. При виклику функції foo
, вона виводить Hello, World!
на консоль, але змінна result
містить значення undefined
, оскільки функція foo
не повертає жодного значення. Функція без оператора return
в JavaScript поверне значення undefined
за замовчуванням.
IIFE в JS
IIFE (Immediately Invoked Function Expression) в JavaScript - це функція, яка викликається безпосередньо після її оголошення. IIFE використовується для створення області видимості для змінних та функцій, щоб уникнути конфліктів імен та забезпечити безпеку програми. Ось приклад використання IIFE в JavaScript:
(function() {
var x = 10;
console.log(x); // 10
})();
У цьому прикладі, ми оголошуємо IIFE, яка містить змінну x
та виводить її значення на консоль. IIFE дозволяє нам створювати область видимості для змінних та функцій, які не будуть доступні за межами IIFE. Це допомагає уникнути конфліктів імен та забезпечити безпеку програми.
що таке hoisting, як він працює для змінних і функцій?
Hoisting в JavaScript - це механізм, який дозволяє вам використовувати змінні та функції до їх оголошення. Ось як працює hoisting для змінних та функцій в JavaScript:
-
Hoisting для змінних - змінні, оголошені за допомогою ключових слів
var
таlet
, піднімаються (hoisted) до початку блоку, в якому вони були оголошені. Однак, змінні, оголошені за допомогою ключового словаlet
, не ініціалізуються до їх оголошення, що призводить до виникнення Temporal Dead Zone (TDZ). -
Hoisting для функцій - функції, оголошені за допомогою ключового слова
function
, піднімаються (hoisted) до початку блоку, в якому вони були оголошені. Це дозволяє вам викликати функцію до її оголошення.
Ось приклад використання hoisting для змінних та функцій в JavaScript:
console.log(x); // undefined
var x = 10;
sayHello(); // Hello, World!
function sayHello() {
console.log('Hello, World!');
}
У цьому прикладі, змінна x
та функція sayHello
піднімаються до початку блоку, в якому вони були оголошені, що дозволяє використовувати їх до їх оголошення.