Javascript, kada koristiti LET a kada Var?

Wizzzz

Aktivan član
Poruka
1.057
Poz ljudi.

Poceo sam da ucim javascript od nule, jer ono sto sam znao delimicno sam zaboravio jer sam ucio druge programske jezike (poslednjih godinu dana fokus je bio na php-u).

Pokusavam da shvatim kada se koristi var a kada let funkcija. Citao sam na netu, gledao na yt al i dalje mi nije jasno.
TJ razumeo sam da je Var za globalno definisanje , kad se napise var broj=5; broj ce biti 5 tokom cele funkcije (osim ako se ne predefinise broj=6;).
E sad let je kolko sam skontao za for i if petlju.
Kada se promenjiva pominje samo jednom onda se koristi let ako sam dobro skontao.

Secam se pre kada sam pravio js funkciju za proveru ispravnosti email adrese, da sam koristio var funckciju a ne let.

Malo sam se sad raspisao, ali to je samo da razumete kako kapiram ovo (ako je uopste tacno).


Molio bih ako neko moze detaljno da mi objasni i na nekom konkretnom primeru.
Hvala u napred na odgovoru.
 
Glavna razlika je u tome koliki je njihov scope.
var je vidljiva unutar najblize funkcije u kojoj se nalazi, a let u najblizem bloku. Npr, ako var deklarises unutar for petlje, bice vidljiva i izvan for petlje, jer je njen opseg unutar najblize funkcije u kojoj se nalazi. Ako let deklarises unutar fora, samo unutar njega je i vidljiva, zato sto je u tom slucaju for najblizi blok koji je okruzuje.

Takodje, promenljivoj deklarisanoj sa let ne mozes pristupiti pre njene deklaracije, a onoj deklarisanoj sa var mozes.

Recimo da se let najblize ponasa kao promenljiva koju deklarises u C-u.

Kod:
function foo()
{
    {
        var a = 10;
        let b = 5;
    }
    console.log(a); //ok, vidljivo
    console.log(b); //nije vidljivo
}

Od ta dva, koristis ono sto ti odgovara.
U principu, let je striktnije, i imas bolju kontrolu dosega, nisi ogranicen na doseg funkcije, vec mozes da napravis promenljivu lokalnu u odnosu na najblizi blok.
 
Poslednja izmena:

Back
Top