Difference between let, const and var in JavaScript: which one to use and when to use it

Scroll Down

The JavaScript programming language is one of the most popular for developing web applications. Understanding the difference between let, const and var is key to using this language effectively. In this article, we’ll look at the main differences between these three ways of declaring variables and guide how to use them.


Var is the oldest way to declare variables in JavaScript and was the only method until ECMAScript 6 (ES6). However, it has several disadvantages due to which its use is not currently recommended.

Main characteristics of var:

  • Functional scope: Variables declared with var have a functional scope, which means they are accessible throughout the function in which they are declared.
  • Hoisting: vars are hoisted before the start of their function or global scope. This can lead to unexpected behavior when the variable may be used for its actual declaration.
  • Re-declaration: It is possible to re-declare a var variable within the same scope without error, which can cause confusion and errors in the code.

The JavaScript programming language allows developers to interact with HTML and CSS to create interactive user interfaces


Let was introduced in ECMAScript 6 (ES6) as a better alternative to var. It has several important advantages, making it a safer and more predictable way to declare variables.

Main characteristics of letting:

  • Block scope: Variables declared with let are only accessible within the block in which they were declared. This provides more precise control over the scope of variables.
  • Hoisting: Like var, let variables be hoisted but not initialized. Using a let variable before a declaration will result in a ReferenceError.
  • Preventing re-declaration: Trying to re-declare a variable using let within the same scope will result in an error.


Const, like let, was introduced in ES6. It is intended to declare variables whose value should not change after initialization.

Main characteristics of const:

  • Block scope: Variables declared with const have the same block scope as let.
  • Hoisting: Like let, const variables are hoisted but not initialized, which means that using them on a declaration will result in an error.
  • Reference immutability: The value of a variable declared using const cannot change after initialization. However, this only applies to the link itself. If a variable contains an object or array, its contents may change.

The JavaScript programming language: when to use let, const, and var


  1. Use `const` by default: If you are sure that the variable will not change after initialization, use const. This will help avoid accidental changes and make the code more understandable.
  2. Use `let` for variables that can change: If a variable will change its value during code execution, use let.
  3. Avoid using `var`: Due to its disadvantages and potential for bugs, the use of var is currently not recommended.


Understanding the difference between let, const, and var will help you write more efficient and secure JavaScript code. Using const and let instead of var avoids many common mistakes and makes your code more predictable.

To deepen your knowledge of web development, you can enroll in programming courses at GoMother School. This is a great opportunity to gain practical skills and become a professional developer.

Register for an online lesson

Take the first step towards a successful future of your child.

Child looks up!