I'm new to the JavaScript World and I'm confused after I knew a lot about the global object (usually window) and knew it's just an object like any object I'd create and that var set properties in the global object unlike let
after that Is there any difference between window.a = something (like in any object) and var a = something?
In the global context, using
varvs assigning towindoware indeed quite similar. However, yes there are a number of differences. Here are a few I can think of:vardeclarations are hoisted, which means that you can use a variable declared withvarbefore you've declared it. On the other hand, trying to use something assigned towindowbefore that assignment has occurred will produce aReferenceError:varcannot be removed from the global object, but simple assignments towindowcan be removed:vardeclarations are scoped to the current execution context. In the global scope, this doesn't differ from assigning towindow, but within a function, avarwill disappear when the function returns.