Var, Let, Const

Can anyone explain the difference between const, let, and var in javascript?

var declarations are globally scoped or function scoped while let and **const are block-scoped. var variables can be updated and re-declared within its scope; let variables can be updated but not re-declared; const variables can neither be updated nor re-declared. They are all hoisted to the top of their scope.