1. Var can be used to declare the same variable repeatedly, but let and const cannot be declared twice in the same scope block-level scope.
  2. Var has variable promotion. It can be assigned first and declared later. Let has no variable promotion and can only be declared first and then assigned. Const is used to represent constants and can only be assigned at declaration time. Once assigned, it cannot be reassigned.
  3. Variables declared by let and const have block-level scope.

Note: In order to use variable declaration keywords, it is recommended to use const in preference. For variables whose values need to be changed, let is used instead of var.