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.