How JavaScript’s Var Works

Posted by

JavaScript’s var is a keyword that is used to declare variables in JavaScript. It can be used to declare variables with or without assigning them a value. Here is a detailed guide on how to use var in JavaScript:

  1. Declaring variables with var:

To declare a variable in JavaScript using var, you can simply use the var keyword followed by the name of the variable you want to create. For example:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

var name;

[/dm_code_snippet]

This will create a variable called name that can be used to store a value later on. You can also assign a value to the variable at the same time as declaring it:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

var name = "John";

[/dm_code_snippet]

This will create a variable called name and assign it the value “John”.

  1. Scoping rules for var:

One important thing to note about var is that it has function-level scoping in JavaScript. This means that variables declared with var are only accessible within the function in which they are declared, or globally if they are declared outside of any function.

For example:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

function greet() {
  var message = "Hello";
  console.log(message);  // "Hello"
}

console.log(message);  // Uncaught ReferenceError: message is not defined

[/dm_code_snippet]

In the example above, the message variable is only accessible within the greet function. If you try to access it outside of the function, you will get a ReferenceError because it is not defined in that scope.

  1. Hoisting with var:

Another thing to note about var is that it is subject to hoisting in JavaScript. Hoisting is a behavior in JavaScript where variables and function declarations are moved to the top of their scope before code execution. This means that you can use a var variable before declaring it in your code.

For example:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

console.log(message);  // undefined
var message = "Hello";

[/dm_code_snippet]

In the example above, even though the message variable is declared after it is used, it is still accessible because of hoisting. However, it has a value of undefined because it has not yet been assigned a value.

  1. Declaring multiple variables with var:

You can also use var to declare multiple variables at the same time. For example:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

var name = "John", age = 30;

[/dm_code_snippet]

This will create two variables, name and age, and assign them the values “John” and 30 respectively.

  1. Redeclaring variables with var:

One thing to be aware of when using var is that you can redeclare variables in the same scope. This means that you can declare a variable with the same name multiple times within the same block of code.

For example:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

var name = "John";
var name = "Jane";

console.log(name);  // "Jane"

[/dm_code_snippet]

In the example above, the name variable is declared twice using var. The second declaration overwrites the value of the first declaration, so the value of name is “Jane” at the end.

  1. Using var in modern JavaScript:

In modern JavaScript, it is recommended to use the let and const keywords