There are mainly 4 major differences between var & let.
varis scoped to the nearest function block while
letis scoped to the nearest enclosing block.
varallows redeclaration of a variable in the same block while
constare not hoisted.
letare not added as property on the global
Using "use strict" prevents you from using undeclared variables.