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 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
Which of the following correctly defines a block scope?
A). A scope that encompasses the entire codebase
B). A scope that encompasses a function
C). A scope that encompasses a block of code delimited by curly braces
D). A scope that encompasses an object
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
How can you access a variable declared in an inner block from an outer block?
A). Using the var keyword
B). Using the let keyword
C). Using the const keyword
D). Using the this keyword
How does block scope help prevent variable hoisting issues?
A). By moving variables to the top of the code
B). By restricting variables to their block
C). By making variables accessible globally
D). By assigning default values to variables
How does block scope affect the visibility of variables in nested blocks?
A). Variables are only visible within their immediate block
B). Variables are visible within all nested blocks
C). Variables are only visible within functions
D). Variables are globally visible
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 is the output of console.log(blockVar); outside a block if let blockVar = 'Block'; is declared inside a block?
A). Block
B). undefined
C). Error
D). null
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