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 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 behavior of accessing a let variable before its declaration in JavaScript?
A). A. SyntaxError
B). B. ReferenceError
C). C. undefined
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
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
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
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
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