WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

JavaScript · Intermediate · question 24 of 100

What is the concept of hoisting in JavaScript?

📕 Buy this interview preparation book: 100 JavaScript questions & answers — PDF + EPUB for $5

Hoisting in JavaScript is a behavior where variable declarations and function declarations are moved to the top of their respective scopes during the compilation phase, even if they are declared later in the code. This means that you can use variables and functions before they are declared in your code.

Here’s an example of variable hoisting:

    console.log(myVar); // Outputs "undefined"
    
    var myVar = "Hello, world!";

In this example, the variable myVar is declared later in the code, but it is still accessible before it is declared due to hoisting. However, the value of myVar is undefined because it has not been assigned a value yet.

Here’s an example of function hoisting:

    greeting();
    
    function greeting() {
        console.log("Hello, world!");
    }

In this example, the function greeting() is called before it is declared in the code. This works because the function declaration is hoisted to the top of the scope during the compilation phase.

It’s important to note that only the declarations of variables and functions are hoisted, not their assignments or initializations. Here’s an example:

    console.log(myVar); // Outputs "undefined"
    
    var myVar = "Hello, world!";
    
    console.log(myVar); // Outputs "Hello, world!"

In this example, the declaration of myVar is hoisted, but the assignment of "Hello, world!" is not. This means that the first console.log() statement outputs undefined, and the second console.log() statement outputs "Hello, world!".

Hoisting can be a useful feature in JavaScript, but it can also lead to unexpected behavior if you’re not aware of it. It’s a good practice to declare variables and functions at the top of their respective scopes to avoid confusion and bugs.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic JavaScript interview — then scores it.
📞 Practice JavaScript — free 15 min
📕 Buy this interview preparation book: 100 JavaScript questions & answers — PDF + EPUB for $5

All 100 JavaScript questions · All topics