JavaScript declarations and their scope limits
Types of JavaScript variable declarations:
- Var keyword
- Let keyword
- Const keyword
- Undeclared variable (Ex: a =2;)
Scope of declarations:
- Var keyword
- Limited to function level.
- Can be used in strict mode and non-strict
mode.
- For example, function scopeOfVar(){
var a; }, here the scope is limited to function scopeOfVar().
- If the variable declared with var
inside of a block in a function, then also that variable has scope throughout
the function.
- But the variable can be accessed
before it’s declaration, if it accessed before declaration will give a ‘undefined’
as the value, which is called as ‘hoisting’.
- Usage var variableName [= value];
- Let keyword
- Should be used only if strict mode
is enabled.
- Let will have scope only in the
block it is declared.
- Commonly used for small blocks or scopes.
- Usage let variableName [= value];
- Const keyword
- Should be used only if strict mode
is enabled.
- Const will have scope only in the
block it is declared.
- Const should be initialized while
declaring.
- It can be an object also like var
and let.
- Usage: const variableName = constant
value;
- Undeclared variable (Ex: a =2;)
- Should be used only in non-strict
mode.
- Will throw reference error if used
in strict mode.
- If a variable is declared without
any keyword in any scope will become a member of global object, i.e., undeclared
variable is always in global scope.
- It is not suggested as a best
practice to use like this.
- Usage: variableName = value;
No comments:
Post a Comment