We programmers are in a lot of confusion between Expression and Statement. The purpose of this article is to clear this subject through a short overview.
The basic difference between an expression and a statement is that the expression returns something at the end of the day, produces data, and can be stored in one place. And the statement does not produce any data, cannot be stored anywhere, does not return anything. Defining a function is statement, and function call is expression. Because when you write a function, it does not return anything until the function is called. If the arrow function is written, it is an expression because it is being stored in a variable. Let's look at some examples.
const name1 = 'Rayhan'; // Statement
const name2 = 'Alvi'; // Statement
const name3 = 'Anik'; // Statement
const name4 = 'Arjun'; // Statement
const name5 = 'Ayman'; // Statement
All of these are statements. Because they do not return anything.
const students = [
'Rayhan',
'Alvi',
'Anik',
'Arjun',
'Ayman',
'Ayuub',
'Bidyut',
]; // Statement
console.log(students[0]); // Expression
console.log(students[1]); // Expression
console.log(students[2]); // Expression
console.log(students[3]); // Expression
console.log(students[4]); // Expression
for (let i = 0; i < students.length; i++) {
console.log(students[i], students[i].toLowerCase()); // Expression
} // Statement
students
is statement, because it is not returning anything. console.log()
is expression, because it returns something. for
loop is statement, because it does not return anything, but console.log(students[i], students[i].toLowerCase())
inside the for loop is expression.
function nameOfFunction(name) {
if (!name) {
console.log('Please provide your name');
} else {
console.log('Hello', name);
}
} // Statement
This is called function statement. Because, it will not return anything until it is called.
const nameOfFunction = function (name) {
if (!name) {
console.log('Please provide your name');
} else {
console.log('Hello', name);
}
} // Expression
This is called function expression, because it is stored in a variable.
nameOfFunction('Murshed'); // Expression
nameOfFunction('Fahim'); // Expression
nameOfFunction(); // Expression
Any function call is expression, because it returns something. If there is nothing to return it returns at least undefined
.
function generateRandomNumber(min = 1, max) {
const randomNumber = Math.floor(Math.random() * min + (max - min)); // Statement
return randomNumber; // Expression
} // Statement
console.log(generateRandomNumber(5, 10)); // Expression
This is the last example. Defining the function generateRandomNumber
is statement, const randomNumber = Math.floor(Math.random() * min + (max - min))
is statement, Math.floor(Math.random() * min + (max - min))
is expression, return randomNumber
is expression, console.log(generateRandomNumber(5, 10))
is expression.
I tried to give a short overview to clear the concept of expression and statement. Hope you can understand. 😊😊
Top comments (1)
Thanks a lot