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

Which of the following statements about 'let' and 'const' is false?

A). Both 'let' and 'const' are block-scoped

B). Both 'let' and 'const' cannot be redeclared in the same scope

C). 'let' can be reassigned, 'const' cannot

D). Both 'let' and 'const' can be redeclared in different scopes

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

A). TypeError

B). ReferenceError

C). SyntaxError

D). RangeError

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

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

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

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

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