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 does 'TDZ' stand for in the context of JavaScript?
A). Temporary Declaration Zone
B). Temporal Dead Zone
C). Temporary Dead Zone
D). Temporal Declaration Zone
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
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
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
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
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
Can you redeclare a 'var' variable in a different scope without error?
A). Yes
B). No
C). Only in strict mode
D). Only if the variable is not initialized
Which of the following is a characteristic of 'const' variables?
A). They can be redeclared
B). They can be reassigned
C). They cannot be redeclared but can be reassigned
D). They cannot be redeclared or reassigned
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