Var, Let i Const u Javascript greškama

madhavan

Početnik
Poruka
6
Zdravo, trenutno istražujem razlike između var, let i const u JavaScript-u, ali sam naišao na neke izazove u razumijevanju njihovih nijansi. Ispod je isječak koda koji ilustruje moja područja neizvjesnosti:

JavaScript:
// Code Snippet 2
let city = "New York";
const country = "USA";

city = "Los Angeles";
country = "Canada";

console.log(city, country);

Evo konkretnih problema sa kojima se borim:

1. Pokušaj preraspodjele vrijednosti promjenljive grad iz "New York" u "Los Angeles" bio je neuspješan, što je rezultiralo greškom koja ukazuje na "TypeError: Dodjela konstantnoj varijabli." Kako mogu izmijeniti kod da uspješno ažuriram vrijednost city koristeći let umjesto const?
2. Prilikom ažuriranja vrijednosti konstantne zemlje sa "SAD" na "Kanada", naišao sam na grešku koja je navela "TypeError: Dodjela konstantnoj varijabli." Kako mogu ispraviti ovu grešku kako bih dozvolio preraspodjelu zemlje korištenjem odgovarajuće deklaracije varijable?
3. Nakon što sam provjerio izlaz na konzoli, vidio sam da je vrijednost grada zabilježena kao "Los Angeles", dok vrijednost nacije ostaje konstantna. Šta može uzrokovati ovu neusklađenost i kako mogu provjeriti da obje varijable tačno odražavaju njihove ažurirane vrijednosti?
4. Nisam siguran kako korištenje let u odnosu na const za varijable kao što su grad i država utiče na preraspodjelu i nepromjenjivost. Možete li objasniti, kao što je navedeno u članku, kada koristiti let, a kada const za slične varijable?

Vaše ideje i pomoć bi bili veoma cijenjeni dok radim na ovim problemima i steknem bolje znanje o var, let i const u JavaScriptu. Hvala na pomoći.
 
Zdravo, trenutno istražujem razlike između var, let i const u JavaScript-u, ali sam naišao na neke izazove u razumijevanju njihovih nijansi. Ispod je isječak koda koji ilustruje moja područja neizvjesnosti:

JavaScript:
// Code Snippet 2
let city = "New York";
const country = "USA";

city = "Los Angeles";
country = "Canada";

console.log(city, country);

Evo konkretnih problema sa kojima se borim:

1. Pokušaj preraspodjele vrijednosti promjenljive grad iz "New York" u "Los Angeles" bio je neuspješan, što je rezultiralo greškom koja ukazuje na "TypeError: Dodjela konstantnoj varijabli." Kako mogu izmijeniti kod da uspješno ažuriram vrijednost city koristeći let umjesto const?
2. Prilikom ažuriranja vrijednosti konstantne zemlje sa "SAD" na "Kanada", naišao sam na grešku koja je navela "TypeError: Dodjela konstantnoj varijabli." Kako mogu ispraviti ovu grešku kako bih dozvolio preraspodjelu zemlje korištenjem odgovarajuće deklaracije varijable?
3. Nakon što sam provjerio izlaz na konzoli, vidio sam da je vrijednost grada zabilježena kao "Los Angeles", dok vrijednost nacije ostaje konstantna. Šta može uzrokovati ovu neusklađenost i kako mogu provjeriti da obje varijable tačno odražavaju njihove ažurirane vrijednosti?
4. Nisam siguran kako korištenje let u odnosu na const za varijable kao što su grad i država utiče na preraspodjelu i nepromjenjivost. Možete li objasniti, kao što je navedeno u članku, kada koristiti let, a kada const za slične varijable?

Vaše ideje i pomoć bi bili veoma cijenjeni dok radim na ovim problemima i steknem bolje znanje o var, let i const u JavaScriptu. Hvala na pomoći.

ako je zaista ovakav kod koji si napisao
onda bi city trebalo da se promenilo u LA
a const bi trebalo da ti javi gresku jer je deklarisano kao konstanta (nepromenljiva)

ono na sta bi trebalo da obratis paznju je 'scope'
izmedju let i var postoji suptilna razlika u scope.

ali posto ti je kod 'ravan' - nema blokova, efekt scope-a se ne primecuje.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
https://developer.mozilla.org/en-US/docs/Glossary/Scope
 
Ne znam da li i dalje ima potrebe za odgovorom, ali kako ovde nisi dobio kompletan odgovor, pokusao bih ja.

Deklarisanu vrednost LET varijable mozes da re-deklarises. (kao sto si ti uradio sa city varijablom)

Deklarisanu vrednost CONST varijable ne mozes da re-deklarises. (kao sto si ti hteo sa country varijablom)
Sto ne znaci da ne moze da se menja.
Vrednost CONST varijable moze da se mutira(promeni) koriscenjem JavaScript metoda, naprimer, ako je vrednost CONST varijable Array ili Object, dodavanjem novih clanova arraya ili key/value parova.objekta.

VAR varijable su function scoped. (code unutar neke funkcije).
LET i CONST varijable su block scoped. (code izmedju { } blocka)


CONST treba da koristis za sve varijable, osim kada znas da ce vrednost varijable biti re-deklarisana i koristices LET.
VAR je deprecated (ne znam kako se to prevodi) od kad se pojavio LET i nekoristi se vise.
 

Back
Top