Съвременен JavaScript с ES6–ES13 (JS урок)

Декларация на променливи в JavaScript: let и const обяснени

Всички видеоклипове от урока Съвременен JavaScript с ES6–ES13 (JS урок)

В това ръководство ще разгледаме различните методи за деклариране на променливи в JavaScript, по-специално ключовите думи let и const от ES6 стандарта в сравнение с var, която до ES5 беше единственият начин за създаване на променливи. Много разработчици са се сблъсквали с неочаквано поведение при използването на var, което води до бъгове. Тази лекция ще ти помогне да разбереш съвременните методи и да се увериш, че декларираш и използваш променливи ефективно.

Най-важните открития

Новите декларации на променливи let и const предлагат предимства по отношение на области на видимост, наличност и сигурност на използването на променливи. let позволява използването на променлива в рамките на блокова видимост, докато const създава неизменяемо присвояване.

Ръководство стъпка по стъпка

Деклариране на променливи

За да работим ефективно с променливи в JavaScript, първо ще проучим декларирането на променливи чрез var, let и const. Нека започнем с файла main.js, който е свързан с твоя HTML документ.

Декларация на променливи в JavaScript: обяснени let и const

Тук ще използваме ключовата дума var, за да декларираме променлива. Нека създадем променлива с име W и да зададем начално значение.

Поведение на var

Типичното поведение на var е, че променливата е видима, дори когато я инициализираш по-късно в кода. Нека тестваме това:

Ще добавя конзолна изходна функция на C преди инициализацията. Очаквай резултата, когато присвоявам на променливата C стойност 0. В изхода трябва да се появи undefined, тъй като стойността ще бъде зададена след реда на присвояването.

Въведение в let

Сега нека разгледаме let. За да покажем разликата, заменяме var с let и инициализираме променливата C с let C = 0.

Когато опитам да използвам C преди присвояването, получавам съобщение за грешка, че достъпвам неинициализирана променлива. Това поведение гарантира, че винаги получаваш грешка, когато се опитваш да получиш достъп до недефинирана променлива.

Декларация на променливи в JavaScript: let и const обяснени

Блокова видимост с let

Друго предимство на let е възможността за деклариране на променлива в рамките на блокова видимост. Нека използваме if израз за това:

Ако създам let C = -1 в рамките на if блока, тази променлива е видима само в рамките на този блок. Ако опитам да използвам C извън блока, ще получа грешка.

Декларация на променливи в JavaScript: let и const обяснени

Използване на const

Следващата стъпка е използването на const. Ако използвам const вместо let, ще създам константна променлива, която не може да бъде променяна.

Ако опитам да присвоя на C след присвояването const C = 0, ще ми бъде показано, че не мога да присвоя нова стойност на константна променлива.

Неизменяеми обекти с const

Когато използваме const за деклариране на обект, самият обект може да продължи да бъде променян, но референцията не може. Мога да добавям елементи към обекта без проблеми.

Най-добри практики за използване на let и const

На базата на моя опит, препоръчвам да използваш по подразбиране const, освен ако не си сигурен, че стойността на променливата трябва да бъде променена по-късно. Тази практика води до по-добре четим и поддържан код.

Използвай let, когато е необходимо да промениш стойността в рамките на блокова видимост. Един пример може да бъде променливата за брой в цикъл.

Резюме – деклариране на променливи в JavaScript: let и const спрямо var

В заключение, разгледахме разликите между var, let и const. let и const предлагат съществени подобрения по отношение на видимостта и сигурността на променливите. Докато var е глобално или локално на функцията, let и const осигуряват видимост в рамките на блокова видимост. Освен това, const гарантира неизменността на присвояването, което намалява бъговете и неочакваното поведение в кода.

Често задавани въпроси

Как да декларирам променлива в JavaScript?Можеш да декларираш променлива в JavaScript с ключовите думи var, let или const.

Каква е разликата между let и var?let позволява деклариране на променливи, които са видими само в рамките на блокова видимост, докато var е видима глобално.

Кога трябва да използвам const?const трябва да се използва, когато си сигурен, че стойността на променливата няма да трябва да се променя по време на изпълнение на програмата.

Какво се случва, ако опитам да присвоя константа?Получаваш грешка, тъй като константна променлива не може да бъде променяна.

Мога ли да променям обекти с const?Да, можеш да променяш свойствата на обект, деклариран с const, но не и референцията на самия обект.