Декларации или така нареченият hoisting в JavaScript

Hoisting - това поведение при JavaScript е да прехвърля декларациите към горната част на кода.

JavaScript Декларации

В JavaScript дадена променлива може да бъде декларирана след като вече е била използвана. С други думи: променлива може да се използва преди да е била изрично декларирана като такава. Пример 1 дава същия резултат, както и Пример 2:

Опитайте сами »
Опитайте сами »

За да разберем това, трябва да се разбере понятието hoisting. Това е поведението при JavaScript, да прехвърля всички декларации към началото на кода, било то функция или скрипт.

JavaScript Инициализациите не се издигат нагоре

JavaScript hoist-ва само декларациите, а не инициализациите. Пример 1 няма да даде същия резултат като Пример 2 :

Опитайте сами »
Опитайте сами »

Има ли смисъл в последния пример y да се дефинира - тоест да използваме ключовата дума var? Това е така, защото само декларацията var y се издига към началото на кода ни, без инициализациятa y = 7. Тоест y се използва преди да е декларирана, самата декларация се извършва на следващият ред. На долния ред инициализираме стойност 7, но JavaScript не издига инициализациите нагоре в кода. Пример 2 е идентичен въпреки, че декларираме променливата в началото на кода:

Опитайте сами »

Дефинирайте променливите си в горната част на кода!

Не разчитайте на издигането на JavaScript променливите. Ако разработчика не го разбира правилно, това може да доведе до бъгове. За да се избегнат грешки, винаги декларирайте променливите си в началото на кода. Това е една полезна практика, която ще ви спести грешки и нерви. Когато JavaScript е в режим strict той не позволява да използвате недефинирани променливи. Прочетете за това подробно в следващата глава!