JavaScript anna Vs var (esimerkkien kanssa)

Tässä opetusohjelmassa opit JavaScriptin let- ja var-eroista esimerkkien avulla.

JavaScriptissä molemmat avainsanat varja letniitä käytetään muuttujien ilmoittamiseen.

letAvainsana otettiin käyttöön uudempi versio JavaScript tunnetaan ES6 (ES2015) . Ja se on suositeltava tapa ilmoittaa muuttujat.

JavaScript antoi Vs var

Tässä on yleiskatsaus letja var.

päästää var
let on lohkottu. var on funktion laajuus.
let ei salli muuttujien uudelleen ilmoittamista. var sallii muuttujien ilmoittamisen uudelleen.
Nostamista ei tapahdu vuokralla. Nostoa esiintyy var.

JavaScripti antoi Vs: n variaatioksi Local Scope -sovelluksessa

var on funktion laajuus

Funktion sisällä ilmoitettua muuttujaa kanssa varvoidaan käyttää missä tahansa funktion sisällä. Esimerkiksi,

 // 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

Yllä olevassa ohjelmassa muuttuja a ilmoitetaan var. Muuttujaa a voidaan käyttää missä tahansa funktion sisällä greet.

let on lohkottu

Muuttujalla, jolla on ilmoitettu, letpääsee vain koodilohkon sisällä. Esimerkiksi,

 // 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();

Tuotos

 hei maailma Uncaught ReferenceError: b ei ole määritelty

Yllä olevassa ohjelmassa muuttuja a ilmoitetaan funktion sisällä, ja sitä voidaan käyttää missä tahansa funktion sisällä (a tulee funktion laajuudeksi).

Muuttuja b kuitenkin ilmoitetaan lohkolausekkeen sisällä if. b on lohkottu ja siihen pääsee vain iflohkon sisällä .

Siksi, kun yrität käyttää b: tä iflohkon ulkopuolella , tapahtuu virhe (kuten ohjelmassa yllä on esitetty).

Huomautus : Muuttujat julisti sisällä toiminto on toiminto scoped molemmille varja let.

let ei salli muuttujien uudelleen ilmoittamista

1. Muuttuja, jolla on ilmoitettu, varvoidaan ilmoittaa uudelleen. Esimerkiksi,

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

Muuttujaa, jolla on ilmoitettu, letei voida ilmoittaa uudelleen samassa lohkossa tai samassa laajuudessa. Esimerkiksi,

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

Tuotos

 Uncaught SyntaxError: Tunniste 'a' on jo ilmoitettu

2. Muuttujan, jolla varon eri laajuus tai lohko, ilmoittaminen muuttaa myös ulomman muuttujan arvoa. Esimerkiksi,

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

Muuttujan, jolla leton eri laajuus tai lohko, uudelleen julistaminen käsittelee muuttujaa eri muuttujana. Ja muuttujan arvo ulkopuolella ei muutu. Esimerkiksi,

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

3. Kun varsilmukassa käytetään muuttujaa, jolla on ilmoitettu , muuttujan arvo muuttuu. Esimerkiksi,

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

Yllä olevassa ohjelmassa forsilmukka ilmoittaa uudelleen muuttujan a. Näin ollen arvo amuutetaan 3 lopussa.

Kun muuttuja julistettu kanssa let käytetään silmukka, arvo muuttuja ei muutu. Esimerkiksi,

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

In the above program, for loop treats variable a as a different variable than the one declared above. And the scope of that variable is only inside the for loop. Hence the value of variable a remains 2 at the end.

let Doesn't Allow Hoisting

The variables declared with var are hoisted to the top of the scope of the program. For example,

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

The keyword let does not allow hoisting. For example,

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

If you want to learn more about hoisting, visit JavaScript Hoisting.

let and var Browser Support

Most of the modern browsers support the use of let. However, some browsers do not fully support let.

To learn more, visit JavaScript let browser support.

Huomautus : Jos maailmanlaajuisia, molemmat varja letkäyttäytyvät samalla tavalla. Esimerkiksi,

 var a = 5; // 5

Muuttuja a on maailmanlaajuinen, ja sitä voidaan käyttää missä tahansa ohjelmassa.

 let a = 5; // 5

Muuttuja a on maailmanlaajuinen, ja sitä voidaan käyttää missä tahansa ohjelmassa.

Mielenkiintoisia artikkeleita...