Q
Which of the following correctly describes variable hoisting with 'var'?

Answer & Solution

Answer: Option B
Solution:
In JavaScript, 'var' declarations are hoisted to the top of their scope, but the initialization stays in place. This can lead to 'undefined' values before the actual assignment.
Related Questions on Average

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

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

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

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

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 error is thrown when attempting to redeclare a 'const' variable?

A). TypeError

B). ReferenceError

C). SyntaxError

D). RangeError

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

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 '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

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