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
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 let variable before its declaration in JavaScript?
A). A. SyntaxError
B). B. ReferenceError
C). C. undefined
D). D. No error
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
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
How can you ensure that a const variable is initialized before use in JavaScript?
A). A. Use let instead of const for all variables
B). B. Declare const variables at the top of their scope
C). C. Assign a default value to const variables
D). D. None of the above
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
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
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 output of the following code snippet?
A). A. TypeError
B). B. 10
C). C. undefined
D). D. SyntaxError