let allows you to create declarations which are bound to any block, called block scoping. Instead of using var, which provides function scope, it is recommended to use let in ES6. Another form of block-scoped declaration is the const, which creates constants.
Full article