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 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
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
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 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 can you ensure variable immutability within a block?
A). Declare the variable with var
B). Declare the variable with let
C). Declare the variable with const
D). Assign a default value
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 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
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 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