Given 'var a = 1; var a = 2;', what is the value of 'a' after these statements execute?
A). 1
B). 2
C). Undefined
D). Syntax Error
How does the scope of 'var' differ from 'let' and 'const' inside a function?
A). 'var' is block-scoped, 'let' and 'const' are function-scoped
B). 'var', 'let', and 'const' are all block-scoped
C). 'var' is function-scoped, 'let' and 'const' are block-scoped
D). 'var' and 'let' are block-scoped, 'const' is function-scoped
What will be the result of executing 'let x = 1; let x = 2;' in the same scope?
A). x will be 1
B). x will be 2
C). Syntax Error
D). Runtime Error
What happens when you redeclare a variable with 'var' inside a function?
A). The variable is overwritten
B). The variable declaration is ignored
C). It throws an error
D). The function's scope is reset
Why is it recommended to use 'let' and 'const' over 'var' in modern JavaScript?
A). 'let' and 'const' are function-scoped
B). 'let' and 'const' prevent variable hoisting
C). 'let' and 'const' are block-scoped, reducing potential errors
D). 'let' and 'const' are faster
What happens if you try to redeclare a 'const' variable in JavaScript?
A). It will throw an error
B). The variable is overwritten
C). The variable is converted to 'let'
D). The program continues with a warning
Can you redeclare a 'let' variable in the same scope in JavaScript?
A). Yes
B). No
C). Only in strict mode
D). Only in non-strict mode
Which of the following statements is true regarding redeclaring variables in JavaScript?
A). You can redeclare 'var' variables within the same scope without errors
B). You can redeclare 'let' variables within the same scope without errors
C). You can redeclare 'const' variables within the same scope without errors
D). None of the above
What will happen if you declare a 'let' variable inside a block and try to access it outside the block?
A). It will return undefined
B). It will throw a ReferenceError
C). It will return null
D). It will be accessible outside the block
Which of the following correctly describes variable hoisting with 'let' and 'const'?
A). Both 'let' and 'const' declarations are not hoisted
B). Only 'let' declarations are hoisted
C). Only 'const' declarations are hoisted
D). Both 'let' and 'const' declarations are hoisted but not initialized