ЈаваСцрипт дозвољава Вс вар (са примерима)

У овом упутству ћете научити о разлици између лет и вар у ЈаваСцрипт-у помоћу примера.

У ЈаваСцрипт-у се обе кључне речи varи letкористе за декларисање променљивих.

letКључна реч је уведен у каснијој верзији ЈаваСцрипт познат као ЕС6 (ЕС2015) . И то је преферирани начин декларисања променљивих.

ЈаваСцрипт дозвољава Вс вар

Ево прегледа разлика између letи var.

дозволити вар
нека је блок-опсега. вар је опсег функције.
лет не дозвољава поновно декларисање променљивих. вар омогућава поновно пријављивање променљивих.
Подизање се не догађа у лет. Подизање се јавља у вар.

ЈаваСцрипт допушта Вс вар у Лоцал Сцопе

вар је опсег функције

Променљива декларисана унутар функције са varможе се користити било где унутар функције. На пример,

 // program to print text // variable a cannot be used here function greet() ( // variable a can be used here var a = 'hello'; console.log(a); ) // variable a cannot be used here greet(); // hello

У горњем програму променљива а је декларисана са var. Променљива а се може користити било где унутар функције greet.

нека је блок-опсега

Променљивој декларисаној са letможе се приступити само унутар блока кода. На пример,

 // program to print the text // variable a cannot be used here function greet() ( let a = 'hello'; // variable b cannot be used here if(a == 'hello')( // variable b can be used here let b = 'world'; console.log(a + ' ' + b); ) // variable b cannot be used here console.log(a + ' ' + b); // error ) // variable a cannot be used here greet();

Оутпут

 хелло ворлд Унцаугхт РеференцеЕррор: б није дефинисан

У горе наведеном програму, променљива а је декларисана унутар функције и може јој се приступити било где унутар функције (а постаје опсег функције).

Међутим, променљива б је декларисана унутар ifнаредбе блока. б ће бити обухваћен блоком и моћи ће му се приступити само унутар ifблока.

Стога, када покушате да приступите б изван ifблока, долази до грешке (као што је горе приказано у програму).

Напомена : Променљиве декларисане унутар функције биће опсега функција и за varи let.

нека не дозвољава поновно објављивање променљивих

1. Променљива декларисана са varможе се поново декларирати. На пример,

 var a = 5; // 5 var a = 3; // 3

Променљива декларисана са letне може се поново декларирати у истом блоку или истом опсегу. На пример,

 let a = 5; let a = 3; // error 

Оутпут

 Унцаугхт СинтакЕррор: Идентификатор 'а' је већ проглашен

2. Поновно проглашавање променљиве varу другом опсегу или блоку мења и вредност спољне променљиве. На пример,

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

Поновно проглашавање променљиве са letу другом опсегу или блоку третира ту променљиву као различиту променљиву. А вредност променљиве споља се не мења. На пример,

 let a = 5; console.log(a); // 5 ( let a = 3; console.log(a); // 3 ) console.log(a); // 5

3. Када се променљива декларисана varкористи у петљи, вредност те променљиве се мења. На пример,

 var a = 2; for(var a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 3

У горњем програму, forпетља поново декларише променљиву а. Отуда се вредност на крају aмења у 3 .

Када се променљива декларисана лет користи у петљи, вредност променљиве се не мења. На пример,

 let a = 2; for(let a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 2

У горњем програму, forпетља третира променљиву а као различиту променљиву од оне која је горе декларисана. А опсег те променљиве је само унутар forпетље. Отуда вредност променљиве а на крају остаје 2 .

нека Не дозвољава подизање

Променљиве декларисане са varпостављене су на врх обима програма. На пример,

 console.log(a); var a; // undefined (not an error)

Кључна реч letне дозвољава подизање. На пример,

 console.log(a); let a; // Uncaught ReferenceError: a is not defined

Ако желите да сазнате више о дизању, посетите ЈаваСцрипт дизање.

лет анд вар подршка за прегледаче

Већина модерних прегледача подржава употребу let. Међутим, неки прегледачи не подржавају у потпуности let.

Да бисте сазнали више, посетите ЈаваСцрипт нека подршка за прегледаче.

Напомена : У случају глобалног опсега, и једно varи друго letпонашаће се на исти начин. На пример,

 var a = 5; // 5

Променљива а биће глобалног опсега и моћи ће јој се приступити било где у програму.

 let a = 5; // 5

Променљива а биће глобалног опсега и моћи ће јој се приступити било где у програму.

Занимљиви Чланци...