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
Which keyword introduces block-scoped variables in JavaScript?
A). var
B). let
C). const
D). function
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
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 if you try to access a block-scoped variable outside its block?
A). The variable is accessible globally
B). The variable is accessible within its block
C). An error occurs
D). The variable is accessible within a function
What is the benefit of block scope in JavaScript?
A). It reduces variable conflicts
B). It increases global scope
C). It simplifies variable declarations
D). It makes variables inaccessible
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
What is the benefit of block scope in loops?
A). It allows variables to be reassigned within each iteration
B). It prevents variable hoisting
C). It restricts variables to the loop block
D). It makes variables globally accessible
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 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