var
declarations that are used instead of let
or const
.let
and const
are block-scoped and behave more strictly.
var
declarations with let
or const
declarations, depending on value semantics.
Declarations might be moved to the top of the function or before the first usage of the variable to avoid Reference errors.