Q
How does hoisting affect variable shadowing in JavaScript?

Answer & Solution

Answer: Option B
Solution:
Hoisting prevents variables with the same name in different scopes from coexisting, a concept known as variable shadowing.
Related Questions on Average

What is the behavior of accessing a const variable before its declaration in a nested block in JavaScript?

A). A. ReferenceError is thrown

B). B. SyntaxError is thrown

C). C. undefined is printed

D). D. No error

What is the behavior of accessing a const variable within a function before its declaration in JavaScript?

A). A. ReferenceError is thrown

B). B. SyntaxError is thrown

C). C. undefined is printed

D). D. No error

Which keyword allows hoisting of variables in JavaScript?

A). A. var

B). B. let

C). C. const

D). D. Both A and B

How can you avoid issues related to hoisting and TDZ in JavaScript?

A). A. Always declare variables at the bottom of the code

B). B. Use var for all variable declarations

C). C. Declare variables with let or const and avoid accessing them early

D). D. None of the above

What is the behavior of accessing a var variable within a block before its declaration in JavaScript?

A). A. ReferenceError is thrown

B). B. SyntaxError is thrown

C). C. undefined is printed

D). D. No error

What happens if you access a var variable before its declaration in JavaScript?

A). A. ReferenceError

B). B. TypeError

C). C. undefined

D). D. No error

Which of the following is true about const variables in JavaScript?

A). A. They can be reassigned after declaration

B). B. They can be accessed before declaration

C). C. They cannot be declared without an initial value

D). D. They cannot be hoisted

What is hoisting in JavaScript?

A). A. A process of lifting heavy objects

B). B. Moving variable and function declarations to the top of their scope

C). C. Reducing code size

D). D. None of the above

What happens if you declare a const variable with the same name as an existing variable in JavaScript?

A). A. SyntaxError is thrown

B). B. The existing variable is reassigned

C). C. ReferenceError is thrown

D). D. TypeError is thrown

What is the output of the following code snippet?

A). A. TypeError

B). B. 10

C). C. undefined

D). D. SyntaxError