Answer & Solution
h
logs 40
from the outer scope, and the second logs the updated value 45
.
let h = 40; { console.log(h); h = 45; } console.log(h);
h
logs 40
from the outer scope, and the second logs the updated value 45
.
What will be the output of the following code?
for (let i = 0; i < 3; i++) { setTimeout(() => console.log(i), 0); }
A). 0 0 0
B). 3 3 3
C). 0 1 2
D). ReferenceError
What happens when you try to re-declare a let
variable in the same scope?
A). It reassigns the value
B). It throws a SyntaxError
C). It re-declares the variable
D). It throws a TypeError
What is the difference between let
and var
in terms of scope?
A). let
is function scoped, var
is block scoped
B). let
is block scoped, var
is function scoped
C). Both are function scoped
D). Both are block scoped
Where should let
variables be declared to avoid TDZ issues?
A). At the top of the global scope
B). At the bottom of their block scope
C). At the top of their block scope
D). Anywhere in the code
What will be the output of the following code?
let d; console.log(d); d = 15;
A). undefined
B). 15
C). null
D). ReferenceError
In which scope are let
variables hoisted?
A). Function scope
B). Block scope
C). Global scope
D). Module scope
What is the 'temporal dead zone'?
A). The period during which a variable is declared but not yet initialized
B). The time when the variable is accessible throughout the program
C). The period after variable initialization
D). None of the above
What is the advantage of using let
over var
?
A). let
allows for function scoping
B). let
does not get hoisted
C). let
avoids issues related to the temporal dead zone
D). let
is globally scoped
What will be the output of the following code?
let c = 5; { let c = 10; console.log(c); }
A). 5
B). 10
C). ReferenceError
D). undefined
Which statement about let
and const
is correct?
A). Both are block scoped, but only let
can be re-assigned
B). Both are block scoped, but only const
can be re-assigned
C). Only const
is block scoped
D). Both are not block scoped