5.5 Const¶
Const Declaration¶
Task 1: Declare a variable called num
, and set its value to 10
.
var num = 10;
console.log(num);
The result is: 10
Task 2: Re-do task 1, and re-declare num
with const
keyword.
const num = 10;
console.log(num);
The result is: 10
Task 3: Refer to task 2; assign the value of 20
to num
variable.
const num = 10;
num = 20;
console.log(num);
The result is: Uncaught TypeError: Assignment to constant variable.
1- const
The value of a constant can not be changed.
Declaration & Assigning¶
Task 4: Declare a variable called name
with var
keyword, then assign "Sami"
to it.
var name;
name = "Sami";
console.log(name);
The result is: Sami
Task 5: Re-do task 4, however declare the variable with const
keyword.
const name;
name = "Sami";
console.log(name);
The result is: Uncaught SyntaxError: Missing initializer in const declaration
2- const
The const
variables must be assigned when they are declared.
Constant Values¶
Task 6: Declare a variable x
with const
keyword, and assign 145
to it.
const x = 145;
console.log(x);
The result is: 145
Task 7: Declare a variable myObj
with const
keyword, and assign {a: 1, b: 2}
to it.
const myObj = {a: 1, b: 2};
console.log(myObj);
The result is: {a:1, b:2}
Task 8: Refer to task 7; update myObj.b
to 20
.
const myObj = {a: 1, b: 2};
myObj.b = 20;
console.log(myObj);
The result is: {a: 1, b: 20}
3- const
The const
variable value is not a real constant value. However, it defines a constant reference to a value. Therefore, you can update the constant objects.
Const Scope¶
Function Scope¶
Task 9: Log the value of local
variable outside the following function.
function func(){
var local = "Hey, I am local variable";
return local;
}
console.log(local);
The result is: Uncaught ReferenceError: local is not defined
Task 10: Log the value of local
variable outside the following function.
function func(){
const local = "Hey, I am local variable";
return local;
}
console.log(local);
The result is: Uncaught ReferenceError: local is not defined
Function Scope
Function scope is within the function.
Block Scope¶
Task 11: Log the value of myBlockVar
variable outside curly brackets {}
.
{
var myBlockVar = "I am inside a block";
}
console.log(myBlockVar);
The result is: I am inside a block
Task 12: Log the value of myBlockVar
variable outside curly brackets {}
.
{
const myBlockVar = "I am inside a block";
}
console.log(myBlockVar);
The result is: Uncaught ReferenceError: myBlockVar is not defined
Task 13: Log the value of myBlockVar
variable outside the if
statement.
if(true){
var myBlockVar = true;
}
console.log(myBlockVar);
The result is: true
Task 14: Log the value of myBlockVar
variable outside the if
statement.
if(true){
const myBlockVar = true;
}
console.log(myBlockVar);
The result is: Uncaught ReferenceError: myBlockVar is not defined
Block Scope
Block Scope is withing curly brackets
4- const
The const
variables are block-scoped.
Extra Practice¶
Task 15: Create PI
constant with the value 3.14
.
const PI = 3.14;
console.log(PI);
The result is: 3.14
Task 16: Refer to task 15; can you assign 3
to PI
constant?
const PI = 3.14;
PI = 3;
console.log(PI);
The result is: Uncaught TypeError: Assignment to constant variable.
Task 17: Create a regular function to check if the result of multiplying e
constant by a given number is greater than 1
or not. The value of e
is 2.718
.
function greaterThanE(num){
const e = 2.718;
return (e * num ) > 1;
}
console.log(greaterThanE(5));
console.log(greaterThanE(0.0006));
The result is as follows:
true
false
Task 18 Refer to Task 17; can you access e
outside the greaterThanE
function?
function greaterThanE(num){
const e = 2.718;
return (e * num ) > 1;
}
console.log(e);
The result is: Uncaught ReferenceError: e is not defined
Task 19: Declare the secret
constant in a block, and try to access its value outside the block. The value of secret
constant is "It is a secret, so how I am supposed to share with you ;)"
.
{
const secret = "It is a secret, so how I am supposed to share with you ;)";
}
console.log(secret);
The result is: Uncaught ReferenceError: secret is not defined
Task 20: Re-do task 19, however replace const
with var
.
{
var secret = "It is a secret, so how I am supposed to share with you ;)";
}
console.log(secret);
The result is: It is a secret, so how I am supposed to share with you ;)
Task 21: Create a regular function that takes income
, and checks if it is greater than 1000
, it applies 0.16
tax on it; otherwise, it applies 0.06
tax on it. Hint: tax values are constant.
function calcTax(income){
if(income > 1000){
const tax = 0.16;
}else{
const tax = 0.06;
}
return tax * income;
}
console.log(calcTax(500));
The result is: Uncaught ReferenceError: tax is not defined
Task 22: Re-do task 21 to achieve the correct result.
function calcTax(income){
if(income > 1000){
const tax = 0.16;
return tax * income;
}else{
const tax = 0.06;
return tax * income;
}
}
console.log(calcTax(500));
The result is: 30