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
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 the output of the following code snippet?
A). A. TypeError
B). B. 10
C). C. undefined
D). D. SyntaxError
How does hoisting differ between let and var declarations in JavaScript?
A). A. Both let and var variables are hoisted with their initial values
B). B. let variables are hoisted with their initial values, var variables are hoisted with undefined
C). C. let variables are not hoisted, var variables are hoisted with their initial values
D). D. Hoisting behavior is the same for let and var declarations
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
How does hoisting affect variable shadowing in JavaScript?
A). A. It allows variables with the same name in different scopes to coexist
B). B. It prevents variables with the same name in different scopes from coexisting
C). C. It has no effect on variable shadowing
D). D. It automatically renames variables with the same name
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 let variable before its declaration in JavaScript?
A). A. SyntaxError
B). B. ReferenceError
C). C. undefined
D). D. No error
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
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