Разлики между JavaScript var срещу Let

JavaScript е скриптов език, който декларира променливите си в различни типове, като използва ключови думи като let, const или var. нека и const имат еднакви характеристики по отношение на лексикалния обхват. Лексикалният обхват се дефинира като видимост на стойностите на променливите в дефинирания или затворения блок, който съдържа валидните стойности и може да бъде достъпен.

JavaScript лексикален обхват се нарича също статично определяне или затваряния, което е мощна концепция. В JavaScript, var няма обхват на блока, ако е деклариран в клас, той е видим за целия обхват отгоре надолу, докато нека не позволява достъп до неговата променлива извън затворения блок. 'var' декларациите се обработват, когато изпълнението на функцията започне. Това е подобно на концепцията, наречена Hoisting (издигане до върха) на функцията.

Изявлението „нека“ беше въведено в стандартната версия 6 на ECMAScript, често наричана ES6 или ES 2015. ECMAScript е организацията за поддържане на стандартните глобални версии на JavaScript, за да се запази приспособимостта му във всички уеб браузъри и неговата среда, за да направи всички основни интернет гиганти са на линия.

В JavaScript, да предположим, че променлива е декларирана условно за () цикъл, тогава тя е достъпна като глобална и извън този цикъл, докато нека не позволява това и ограничава допуснатата декларирана променлива да бъде достъпна само в цикъл. Повторното деклариране на променлива чрез let причинява Syntax Error по време на процеса на компилация.

Сравнение между главата между JavaScript Var и Let

По-долу са най-добрите 8 сравнения между JavaScript Var и Let

Основни разлики между JavaScript Var срещу Let

И двата JavaScript Var срещу Let са популярен избор на пазара; нека да обсъдим някои от основните разлики между JavaScript Var срещу Let:

  1. Променлива е името на хранилището за стойност, присвоена за идентифициране на нейното местоположение. В JavaScript променлива може да бъде декларирана с помощта на let или var. Обхватът на декларация 'var' е глобален, независимо от декларирания му обхват или местоположение, докато променливата, декларирана с помощта на оператор let, е обхваната от блок или приложена област.
  2. В по-голямата част от кода на по-старата версия, var може да се намери за повечето променливи, декларирани в повечето от JavaScript кода. 'var' повдига променливата стойност към целия обхват, докато операторът let не изменя стойността.
  3. „var“ декларацията е налична от началото на JavaScript и нека наскоро бе представен декларацията във версията на JavaScript на ES6 (ES 2015), за да се наложи функционалността на блоковия обхват.
  4. 'var', декларирано на всяко ниво на обхвата, става глобално, докато нека обхватът е обхват на блока, където блокът може да бъде определен като код, затворен между цветните скоби ().
  5. 'var' декларираните променливи в JavaScript инициализира стойността по подразбиране на променливата до неопределена, след като е декларирана в обхвата, докато нека декларираните променливи също зарежда стойността по подразбиране е неопределена.
  6. var няма лексикален обхват, вместо това има глобален обхват, докато нека трябва да блокира обхвата, който може да бъде имплицитен или изричен въз основа на поставянето на оператор let. Ако операторът позволява да съществува в рамките на блока, тогава той става лексикален обхват.
  7. В обхвата на обекта на Windows могат да се използват променливи var, докато декларираните променливи оператор нека не могат да се използват в този сценарий.
  8. Не е по-безопасно да използвате типа на идентификаторите, декларирани с помощта на оператора let, който случаят е различен за декларираните променливи.
  9. По отношение на сравнението на производителността, var е по-бърз и по-бавен в циклите, докато работи или изпълнява кода.
  10. Повторното деклариране на var, декларирана за променлива в същата функция или обхват, поражда синтаксична грешка, докато оставената декларирана променлива не може да бъде декларирана отново.
  11. Грешките и объркването на стойността, преобладаващи в обхвата, могат да бъдат избегнати чрез използване на декларирана променлива и се препоръчва да се използва, когато е възможно и не във всички случаи.
  12. В JavaScript променлива, използваща var, може да бъде декларирана като var a = 1; като има предвид, че променлива, използваща оператор let, може да бъде декларирана като: нека a = 1; единствената разлика, която трябва да се наблюдава между var и пуснат в JavaScript, е обхватният блок и декларацията или повторното деклариране.
  13. Името на декларираните променливи има някои ограничения, които трябва да се спазват преди деклариране, така че името му да започва само с букви, цифри, знаци $ или _. Операторите var и let in javascript също не трябва да се използват като име на идентификаторите, докато декларират променливите.

Таблица за сравнение между JavaScript Var срещу Let

Следва таблицата за сравнение между JavaScript Var срещу Let

Основата на сравненията между JavaScript Var срещу Let JavaScript Var Позволявам
дефиницияvar е старият метод за деклариране на променливаНека е наскоро въведена форма на променлива декларация
употребаИзползва се главно за деклариране на променливи в JavaScript програмиСъщото като var, но осигурява допълнителна функционалност за налагане на достъпността на блоковия обхват
декларацияМоже да се декларира навсякъде и променливата е повдигнатаМоже да бъде деклариран навсякъде и ограничен, за да блокира обхвата
ДостъпностГлобален достъпБлокиране на достъп до обхвата или лексикален обхват
видВ строг режим var позволява да се декларира променлива в същия обхват.нека не позволява отново деклариране на същата променлива
Поддръжка на браузъраВсички браузъри поддържат varМалко браузъри не поддържат оператор let
ПодемноГлобалните променливи са повдигнатиПроменливите от обхвата на блока всъщност не са повдигнати
СъвместимостПоддържа се от всички браузъри и JS среда за изпълнениеТранспилатори като Babel могат да се използват за преобразуването му в по-стари версии, за да осигурят поддръжка във всички браузъри

заключение

Използването на var в JavaScript има много място за грешки по време на изпълнение на код. Глобалният обхват на var декларацията причинява намаляване на използването на един и същ идентификатор на различни места в същия клас или файл. Това намалява повторната употреба на кода. Декларирането на променлива с помощта на var се държи подобно на това на let, но с единствената разлика в лексикалния обхват в целия код.

Декларацията на променлива, използваща „let“, води до достъп до променливата през приложения обхват, в резултат на което идентификаторът се декларира и използва отново извън обхвата на блокиран, оператор или израз. Var не може да бъде заменен с let, тъй като има свои собствени приложения в различни области. Позволете да се използва само там, където обхватът на блока е от първостепенно значение и не е необходимо повдигане в обхвата на изпълнение.

Препоръчителен член

Това е ръководство за основните разлики между JavaScript Var срещу Let. Тук също обсъждаме JavaScript Var срещу Нека ключови разлики с инфографика и таблица за сравнение. Може да разгледате и следните статии, за да научите повече -

  1. HTML5 срещу Flash-кой е по-полезен
  2. Сравнение между Java и Node JS
  3. Python vs JavaScript разлики
  4. Java и JavaScript - Топ 10 разлики
  5. HTML5 срещу JavaScript Какви са функциите