What is the difference between var, let, and const?

The main difference between var, let, and const is their scope, reassignment behavior, and hoisting.