What will happen if you try to use a variable before declaring it with 'let'?
A). It will return undefined
B). It will return null
C). It will throw a ReferenceError
D). It will return NaN
How does 'let' differ from 'var' in terms of scope?
A). 'let' is function-scoped, 'var' is block-scoped
B). Both 'let' and 'var' are block-scoped
C). 'let' is block-scoped, 'var' is function-scoped
D). Both 'let' and 'var' are function-scoped
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
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
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
What is the result of redeclaring a variable with 'var' in the same scope in JavaScript?
A). Syntax Error
B). The variable is overwritten
C). The variable remains unchanged
D). The program crashes
Which of the following correctly describes variable hoisting with 'var'?
A). 'var' declarations are not hoisted
B). Only the variable declaration is hoisted, not the initialization
C). Both declaration and initialization are hoisted
D). Only in strict mode 'var' declarations are hoisted
What error is thrown when attempting to redeclare a 'const' variable?
A). TypeError
B). ReferenceError
C). SyntaxError
D). RangeError
In which scenario would redeclaring a variable with 'var' lead to an unintended consequence?
A). When redeclaring in the same scope
B). When redeclaring in a different scope
C). When using 'strict mode'
D). When the variable has not been initialized
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