Підняття JavaScript (з прикладами)

У цьому підручнику ви дізнаєтесь про підняття JavaScript за допомогою прикладів.

Піднімання в JavaScript - це поведінка, при якій функція або змінна можуть бути використані перед оголошенням. Наприклад,

 // using test before declaring console.log(test); // undefined var test;

Вищевказана програма працює, і результат буде невизначеним. Вищевказана програма поводиться як

 // using test before declaring var test; console.log(test); // undefined

Оскільки тест змінної оголошується лише і не має значення, undefinedйому присвоюється значення.

Якщо ви хочете дізнатись більше про змінні, відвідайте змінні JavaScript.

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

Змінний підйом

У термінах змінних і констант, ключове слово varпіднято і letта constне допускає підйом.

Наприклад,

 // program to display value a = 5; console.log(a); var a; // 5

У наведеному вище прикладі змінна a використовується перед її оголошенням. І програма працює і відображає результат 5. Програма поводиться так:

 // program to display value var a; a = 5; console.log(a); // 5

Однак у JavaScript ініціалізації не піднімаються. Наприклад,

 // program to display value console.log(a); var a = 5;

Вихідні дані

 невизначений

Вищевказана програма поводиться як:

 var a; console.log(a); a = 5;

Тільки оголошення переміщується в пам'ять на етапі компіляції. Отже, значення змінної a полягає в undefinedтому, що a друкується без його ініціалізації.

Крім того, коли змінна використовується всередині функції, змінна піднімається лише до верхньої частини функції. Наприклад,

 // program to display value var a = 4; function greet() ( b = 'hello'; console.log(b); // hello var b; ) greet(); // hello console.log(b);

Вихідні дані

 привіт Uncaught ReferenceError: b не визначено

У наведеному вище прикладі змінна b підноситься до верхньої частини функції greetі стає локальною змінною. Отже, b доступний лише всередині функції. b не стає глобальною змінною.

Щоб дізнатись більше про локальні та глобальні змінні, відвідайте область змінних JavaScript.

Примітка : Під час піднімання оголошення змінної доступне лише для безпосередньої області дії.

Якщо змінна використовується із letключовим словом, ця змінна не піднімається. Наприклад,

 // program to display value a = 5; console.log(a); let a; // error

Вихідні дані

 Uncaught ReferenceError: Не вдається отримати доступ до 'a' перед ініціалізацією

Під час використання letзмінна повинна бути оголошена першою.

Підйом функції

Функцію можна викликати до її оголошення. Наприклад,

 // program to print the text greet(); function greet() ( console.log('Hi, there.'); )

Вихідні дані

 Привіт

У наведеній вище програмі функція greetвикликається перед її оголошенням, і програма показує вихідні дані. Це пов’язано з підняттям.

Однак, коли функція використовується як вираз , виникає помилка, оскільки піднімаються лише оголошення. Наприклад;

 // program to print the text greet(); let greet = function() ( console.log('Hi, there.'); )

Вихідні дані

 Uncaught ReferenceError: привітання не визначено

Якби це varбуло використано у вищезазначеній програмі, помилка буде такою:

 Uncaught TypeError: привітання не є функцією

Примітка : Як правило, піднімання не виконується в інших мовах програмування, таких як Python, C, C ++, Java.

Підйом може призвести до небажаних результатів у вашій програмі. І найкраще спочатку оголосити змінні та функції перед їх використанням та уникати підняття.

У випадку змінних краще використовувати letніж var.

Цікаві статті...