Declaration Statements

There are three declaration statements in JavaScript: varopen in new window, letopen in new window, and constopen in new window. To understand why there are three different declaration statements, we must look at the history of the JavaScript.

In 1995, when JavaScript was first created, it had only one declaration statement var. For two decades it was the only way of declaring variables. But var had limitations that some programmers, especially those who came from languages like Java, found annoying. So, in July 2015, the JavaScript version known as ES2015 or ES6 introduced two new declaration statement, let and const.

Each declaration statement will cause the variable to act a little differently. Below is a brief explanation of those differences.

Basics

While there are a few technicalities to explore regarding the three declaration statements, we will begin by only covering the crucial differences:

  1. While var does work, there is essentially no reason to use it anymore. Do not use var in this course.
  2. Use const when the variable's value will not change after initialization.
  3. Use let when you plan on changing the variable's value after initialization.

var

The var statement is used to declare a variable that has function scope or is accessible anywhere within a function. If declared outside of a function it will be given a global scope and be added to the global object. Variables declared with var do not need to be assigned a value, can be re-assigned a value, and can be re-declared without an error.

NOTE

While the var declaration statement still works, it is considered "bad practice" to use. It is better to use let or const.

let

The let statement is used to declare a variable that has block scope or is accessible anywhere within a block or a set of curly braces. If declared outside of a function or block it will be given global scope but is NOT added to the global object. Variables declared with let do not need to be assigned a value, can be re-assigned a value, but CANNOT be re-declared and will result in an error.

const

The const statement is used to declare a variable that has block scope or is accessible anywhere within a block or a set of curly braces. If declared outside of a function or block it will be given global scope but is NOT added to the global object. Variables declared with const MUST to be assigned a value, CANNOT be re-assigned a value, and CANNOT be re-declared. If any of these situations occur it will result in an error.

NOTE

Because const forces a value to be set to any variable declared and prevents re-declaration, it is considered best practice to use const in all cases, except when it is known that a variable value will change. Then use let.