Var, Let, and Const

Var, Let, and Const

We all have used var, let, and const variables many times in JavaScript but sometimes we all get confused about which is the best variable to use for a particular program. I am writing this blog to understand let, var, and const variables for helping someone to clear their basics regarding the same.

Var

It is the oldest keyword to declare a variable in JavaScript. The scope of it is global or function scope. Variables defined outside the function can be accessed globally and variables defined inside a particular function can be accessed within the function. It can be updated and re-declared into the scope.

Example -

    function f() {
        var a = 7;
        console.log(a)
    }
    f();
    console.log(a);

Output-

7
ReferenceError: a is not defined

Let

It is an improved version of the var keyword. The scope of a let keyword is only block scoped. It cannot be accessible outside the particular block. It can be updated but cannot be re-declared into the scope.

Example 1-

    let a =7;
    function f() {
        if (true) {
            let b = 9

            // It prints 9
            console.log(b);
        }

        // It gives error as it
        // defined in if block
        console.log(b);
    }
    f()

    // It prints 7
    console.log(a)

Output-

9
ReferenceError: b is not defined
7

Example 2-

let a = 7
if (true) {
    let a=9
    console.log(a) // It prints 9
}
console.log(a) // It prints 7

Output-

9
7

Const

It has all the properties same as the let keyword, except the user cannot update it. It cannot be updated or re-declared into the scope.

Example-

    const a = {
        prop1: 7,
        prop2: 9
    }

    // It is allowed
    a.prop1 = 3

    // It is not allowed
    a = {
        b: 7,
        prop2: 9
    }