Mikor használunk var-t JavaScriptben a let helyett?










a var és a let nem teljesen ugyanaz... itt elég jól összefoglalják:










"A let nem a var helyett van?"
De igen.
Ahogy már említették, a var megmaradt a kompatibilitás fenntartása miatt, hiszen rengeteg kód még var-t használ, a let (és const) ES6-os feature. A var gyakorlatilag egy rosszabb let.
Itt le van írva, hogy miért így oldotta meg Brendan Eich a var problémát:





Használd nyugodtan a var -t, az minden eszközön és böngészővel kompatibilis.
Akkor érdemes let -et használni, ha az indokolt, block szinten kell csak meghatározni, amiből pl. setTimeout() -at async módon átadod a változót egy függvénynek.
var esetén az lesz érvényes ami az utolsó módosításnál volt, let esetén az amikor a setTimeout() függvényt létrehoztad.
Tehát a let nem a var helyett van, hanem mint egy plusz eszköz.










Ahogy nézem erre a kérdésre nem létez(het) jó válasz! :D :D :D
#5
"Senki nem mondta, hogy teljesen ugyanaz"
A kérdező kérdésére válaszoltam és nem a te válaszodra (már ha te/ti) írtátok az első kettő választ. A kérdésből pedig azt szűrtem le, hogy tulajdonképpen a különbségre kíváncsi, ezért linkeltem egy viszonylag friss stackoverflow-s választ, amit 6241 ember talált jónak. (amúgy szerintem is jól összefoglalja, bár én elsősorban backendes vagyok)
Tehát meséld már el nekem hogy ez miért nem hasznos a kérdező/kérdés szempontjából, ami miatt megérdemeltem a lehúzást?!





Igen úgy látom a Palantir egész tömören össze is foglalja a lényeget:
"Declaring variables using var has several edge case behaviors that make var unsuitable for modern code."
7-es igen végülis egy plusz eszköz hogy rosszabb kódot írj, így is fel lehet fogni :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!