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