What is the purpose of block scope in JavaScript?
A). To limit the visibility and accessibility of variables
B). To make variables global
C). To create constants
D). To execute functions
What is hoisting in JavaScript?
A). Moving variables to the top of their function or global scope
B). Making variables undefined
C). Creating new variables
D). None of the above
What happens when you declare a constant with const inside a block and try to reassign it?
A). It throws an error
B). It allows reassignment
C). It assigns the value globally
D). It assigns a default value
What does the Temporal Dead Zone (TDZ) refer to?
A). A zone with no variables
B). A zone where variables are in memory but not accessible
C). A zone where variables are accessible globally
D). A zone with limited variable scope
What is the output of console.log(outerVar); outside outerFunction if let outerVar = 'Outer'; is declared inside outerFunction?
A). Outer
B). undefined
C). Error
D). null
What is the main difference between var and let in terms of scope?
A). var is block-scoped, let is function-scoped
B). var is function-scoped, let is block-scoped
C). Both var and let are block-scoped
D). Both var and let are function-scoped
Which keyword introduces block-scoped variables in JavaScript?
A). var
B). let
C). const
D). function
What is lexical scoping in JavaScript?
A). Variables scoped to the entire codebase
B). Variables scoped to their functions
C). Variables scoped based on their position in the code
D). Variables scoped based on their names
What is the output of console.log(i); outside the loop if let i = 10; is declared inside a loop?
A). 10
B). undefined
C). Error
D). 0
What is the output of console.log(innerVar); outside exampleFunction if let innerVar = 'Hello'; is declared inside exampleFunction?
A). Hello
B). undefined
C). Error
D). null