Which keyword is used for declaring variables that should not change?
A). var
B). let
C). const
D). all of the above
What will be the output of the following code: if (true) { let b = 60; } console.log(b);
A). 60
B). undefined
C). Error
D). null
What will be the output of the following code: let c = 70; { let c = 80; console.log(c); } console.log(c);
A). 70 80 80
B). 80 80
C). Error
D). 70 80
How does 'let' handle variable re-declaration in the same scope?
A). Allows it
B). Silently ignores
C). Throws an error
D). Creates a new variable
What will be the output of the following code: const z = 30; z = 40; console.log(z);
A). 30
B). 40
C). Error
D). undefined
How does 'let' differ from 'var' in terms of scope?
A). No difference
B). Function-scoped
C). Block-scoped
D). Global-scoped
How do 'var' declarations handle hoisting?
A). They are not hoisted
B). Only the assignment is hoisted
C). Only the declaration is hoisted
D). Both declaration and assignment are hoisted
What will be the output of the following code: console.log(a); var a = 50;
A). 50
B). undefined
C). Error
D). null
Which keyword allows block-scoped variable declaration?
A). var
B). let
C). const
D). Both B and C
Can 'const' be used to declare an array or object?
A). No, only primitives
B). Yes, but the reference can't change
C). Yes, and the content can't change
D). No