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 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

How does hoisting affect const declarations in JavaScript?

A). A. const variables are hoisted with their initial values

B). B. const variables are hoisted but cannot be accessed before declaration

C). C. const variables are hoisted and can be accessed before declaration

D). D. Hoisting does not affect const declarations

What happens if you try to reassign a const variable in JavaScript?

A). A. No effect on the variable

B). B. SyntaxError is thrown

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

What is the purpose of the Temporal Dead Zone (TDZ) in JavaScript?

A). A. To prevent variable reassignment

B). B. To catch errors at compile time

C). C. To ensure variables are initialized before use

D). D. To reduce memory usage

How does hoisting affect function declarations in JavaScript?

A). A. Function declarations are hoisted with their function bodies

B). B. Function declarations are hoisted but cannot be accessed before declaration

C). C. Function declarations are not hoisted

D). D. Hoisting has no effect on function declarations

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 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

Which keyword allows hoisting of variables in JavaScript?

A). A. var

B). B. let

C). C. const

D). D. Both A and B

How does hoisting affect arrow functions in JavaScript?

A). A. Arrow functions are hoisted with their function bodies

B). B. Arrow functions are hoisted but cannot be accessed before declaration

C). C. Arrow functions are not hoisted

D). D. Hoisting has no effect on arrow functions